jQuery用法小结
2016-06-27 17:28
429 查看
filtering过滤:
.not('') 在所选元素集合中, 排除特定的元素 $( "li" ).not( ":even" ).css( "background-color", "red" );
.filter('') 在所选集合中,选定特定的元素;与.not( )相反; $("p").filter(".selected,:first")选择第一个和带有selected类的p元素;
.eq(num ) num:0 1 2 3 4...
.has(“ul”) $( "li" ).has( "ul" ).css( "background-color", "red" );
.first() .last() $( "li" ).first().css( "background-color", "red" );
.is()检测匹配元素,若其中至少有一个元素符合给定的表达式 返回true;$( "input[type='checkbox']" ).parent().is( "form" )
.map() 操作一个数组中的每个元素 转换为另一个数组
.slice(0,2) 选取元素集合中 从0开始至2结束的前两个匹配元素;
traversing 遍历:
.end()返回所选文本的上一级;元素
.add() 1添加一个新元素到一组匹配的元素中 $(“p”).add(“span”) 表示已选定p和span元素;
2动态生成一个元素并添加至匹配的元素中
.children()只考虑子元素,而非所有的所有的后代元素;
.closest()从元素本身开始,逐级向上遍历,返回最先匹配的元素;
.parents()从父元素开始向上遍历,返回所有匹配元素,是一个集合。
.offsetParent() 返回第一个匹配的具有position的父元素;
.prev( )取的所选元素的紧邻的前一个同辈元素;
.siblings( )找到所选元素的所有同辈元素;
核心函数
.each() 遍历一个函数集
.index()索引
.size() 相当于$('image').length
.get(0) 返回dom对象 $(this).get(0) 与$(this)[0]等价;.get()获得的是元素数组。
.data("blab","hello") 存储数据在blab上
$("form>input") 匹配表单中所有的直接子级input
$("lable + input") 匹配所有跟在lable后面的元素
$("form ~input") 匹配所有与表单同辈的元素
$("tr:eq(1)") 匹配一个给定索引值的元素
$("tr:gt(1)") 匹配所有大于给定索引值的元素
$("tr:lt(2)") 匹配所有小于索引值的元素
$("div:contains('john')") 查找所有包含‘john’的元素
$('select,:redio').serializeArray();序列化表格元素,返回JSON数据结构JSON对象,而非字符串
$.param() 在内部将元素转化为序列化的字符串。$.param({width:1900,height:1200}) //"width=1900&height=1200"
.submit() 表单的提交事件 若要阻止表单提交 则return false;
.prop()获取匹配的元素中第一个元素的属性值
.offset().left .offset().top 以像素计算top和left坐标
$("p").offset({top:10,left:30});
.position().left .position().top 获得匹配元素相对于父元素的偏移
.scrollTop() 获取相对于滚动条顶部的偏移 .scrollTop(300) 设置
.scrollLeft()
.height() .height(300)
.width() .width(300)
.innerHeight() .innerWidth() 包括padding和内容
.outerHeight() 包括补内容+padding+边框; outerHeight() 包括 内容+padding+边框+margin;
.append() .appendTo() .prepend() .prependTo()
.after() 在dd整个元素</p>之后添加元素 .before()
.insertAfter()
.wrap() 把所有匹配的元素用其他元素包裹起来
.unwrap() 移出元素的父元素
.replaceWith() 把所有指定的元素替换成制定的html或dom元素
.empty() 删除匹配的元素集合中所有的子节点
$('p').empty(); //<p></p> 里的内容为空
.remove() 删除所有匹配的元素
.detach()
.clone() 克隆匹配的dom元素,并选中这个克隆的副本,副本拥有同样的功能
.addSelf()
.contents() 匹配元素内部所有的子节点 元素节点<div> <p>... nodeType ==1;
属性节点 id class name... nodeType == 2;
文本节点 文本内容... nodeType ==3;
注释节点 nodeType == 8;
文档节点 document整个文档 nodeType ==9;
.on() 在选择元素上绑定一个或多个事件处理函数
$(p).on('click',{foo:'bar'},function(){}); $("form").on("submit",false;)//取消提交事件
.off() 移除用.on()绑定的事件
.bind() $('form').bind('submit',function(){return false;}) 阻止默认事件和事件冒泡;
.one() 绑定一个一次性的时间处理函数
.trigger() 在每一个匹配的元素上触发某类事件
$("form").trigger("submit");
.delegate() 指定的元素(被选元素的子元素)添加一个或多个事件处理函数;适用于当前或未来的元素(比如脚本创建的元素)
$('table').delegate('td','click',function(){ //div里的td $('p').slideToggle(); })
.toggle() 切换状态
.blur() 失去焦点时 返回false阻止默认事件
.change() 当元素的值发生改变时,仅适用于input text文本域 textarea 和 select
.keydown() keycode 空格 32 Enter 13 ESC 27
.resize() 调整浏览器窗口的大小时
.scroll() 当指定的元素发生滚动时的事件 $(window).scroll();$('div').scroll();
.select() 当textarea 或input中的文本 被选择时,发生select事件
.animate() 创建自定义动画的函数
.stop() 停止指定元素上的所有动画
.finish()
.delay() 设置延迟
$.trim() 去掉字符串起始和结尾的空格
$.trim(" hello, how are you ? "); //'hello, how are you ?'
$.param() 序列化
param()方法 对数组或对象进行序列化,用于在内部将元素值转换为序列化的字符串
.toArray() 转化为数组
.nextUntil() $("li .start").nextUntil('li .stop') 选择start和stop两个li 之间的所有同级元素
AJAX
$.ajax(url,[settings])
$.ajax({
url:'',
beforeSend:function(XMLHttpRequest){},
success:function(){},
dataFilter:function(data,type){},在请求成功之后调用,传入返回的数据以及‘dataType'参数的值,
complete:function(){},当请求完成之后调用此函数,无论成功失败。传入XMLHttpRequest对象,
error:function(){},
dataType:指定不同数据处理方式。除了默认的XML,还可以指定为html,json,jsonp,script,text.,!需要注意的是,我们必须确保服务器报告的MIME类型与我们选择的dataType所匹配。比如说xml的话,服务器必须声明text/xml或者application/xml来获得一致的结果。JSON数据是一种很能方便通过javascript解析的结构化数据。如果获取的文件存放在远程服务器上(域名不同,跨域获取数据),则需要使用JSONP请求。
processData:false,避免在数据发送给时,被默认转换成查询字符串;并且要指定恰当的contentType选项的值,
contentType:MIME类型,默认为application/x-www-form-urlencoded,
cache:false,禁用缓存
ifModified:true,辅助禁用缓存;默认false指仅在服务器数据改变时获取新数据
async:true,默认true异步,
statusCode:{404:function(){alert('pafe not found');}});
timeout:请求超时时间,
})
.not('') 在所选元素集合中, 排除特定的元素 $( "li" ).not( ":even" ).css( "background-color", "red" );
.filter('') 在所选集合中,选定特定的元素;与.not( )相反; $("p").filter(".selected,:first")选择第一个和带有selected类的p元素;
.eq(num ) num:0 1 2 3 4...
.has(“ul”) $( "li" ).has( "ul" ).css( "background-color", "red" );
.first() .last() $( "li" ).first().css( "background-color", "red" );
.is()检测匹配元素,若其中至少有一个元素符合给定的表达式 返回true;$( "input[type='checkbox']" ).parent().is( "form" )
.map() 操作一个数组中的每个元素 转换为另一个数组
$( "p" ).append( $( "input" ).map(function() { return $( this ).val(); }).get().join( ", " ) );
.slice(0,2) 选取元素集合中 从0开始至2结束的前两个匹配元素;
traversing 遍历:
.end()返回所选文本的上一级;元素
.add() 1添加一个新元素到一组匹配的元素中 $(“p”).add(“span”) 表示已选定p和span元素;
2动态生成一个元素并添加至匹配的元素中
.children()只考虑子元素,而非所有的所有的后代元素;
.closest()从元素本身开始,逐级向上遍历,返回最先匹配的元素;
.parents()从父元素开始向上遍历,返回所有匹配元素,是一个集合。
.offsetParent() 返回第一个匹配的具有position的父元素;
.prev( )取的所选元素的紧邻的前一个同辈元素;
.siblings( )找到所选元素的所有同辈元素;
核心函数
.each() 遍历一个函数集
$('li').each(function(index){ console.log(index + ':'+$(this).text()); })
.index()索引
$('li').index(document.getElementById('bar')); $('li').index($('#bar')); //传递一个jquery对象 $('li').index($('li:gt(0)')); //传递一组,返回第一个元素的索引位置 $('#bar').index('li'); //传递一个选择器,返回#bar在所有li中的索引位置 $('#bar').index(); //不传递参数,返回这个元素在同辈中的索引位置
.size() 相当于$('image').length
.get(0) 返回dom对象 $(this).get(0) 与$(this)[0]等价;.get()获得的是元素数组。
.data("blab","hello") 存储数据在blab上
$("form>input") 匹配表单中所有的直接子级input
$("lable + input") 匹配所有跟在lable后面的元素
$("form ~input") 匹配所有与表单同辈的元素
$("tr:eq(1)") 匹配一个给定索引值的元素
$("tr:gt(1)") 匹配所有大于给定索引值的元素
$("tr:lt(2)") 匹配所有小于索引值的元素
$("div:contains('john')") 查找所有包含‘john’的元素
$('form').serialize() 将表单内容序列化为字符串,用于ajax请求
$('select,:redio').serializeArray();序列化表格元素,返回JSON数据结构JSON对象,而非字符串
$.param() 在内部将元素转化为序列化的字符串。$.param({width:1900,height:1200}) //"width=1900&height=1200"
<form> <select name="single"> <option>Single</option> <option>Single2</option> </select> <select name="multiple" multiple="multiple"> <option selected="selected">Multiple</option> <option>Multiple2</option> <option selected="selected">Multiple3</option> </select><br/> <input type="checkbox" name="check" value="check1"/> check1 <input type="checkbox" name="check" value="check2" checked="checked"/> check2 <input type="radio" name="radio" value="radio1" checked="checked"/> radio1 <input type="radio" name="radio" value="radio2"/> radio2 </form> <script type="text/javascript"> $("#results").append("<tt>"+$('form').serialize()+'</tt>'); //结果为single=Single&multiple=Multiple2&check=Check1&check=Check2&radio=radio2 </script>
.submit() 表单的提交事件 若要阻止表单提交 则return false;
.prop()获取匹配的元素中第一个元素的属性值
$('input[type="checkbox"]').prop("checked"); //选中为true,否为false; $('input[type="checkbox"]').prop("disabled",false); //禁用所有复选框 $('input[type="checkbox"]').prop("checked",true); //选中所有复选框
.offset().left .offset().top 以像素计算top和left坐标
$("p").offset({top:10,left:30});
.position().left .position().top 获得匹配元素相对于父元素的偏移
.scrollTop() 获取相对于滚动条顶部的偏移 .scrollTop(300) 设置
.scrollLeft()
.height() .height(300)
.width() .width(300)
.innerHeight() .innerWidth() 包括padding和内容
.outerHeight() 包括补内容+padding+边框; outerHeight() 包括 内容+padding+边框+margin;
.append() .appendTo() .prepend() .prependTo()
.after() 在dd整个元素</p>之后添加元素 .before()
.insertAfter()
.wrap() 把所有匹配的元素用其他元素包裹起来
$(".inner").wrap("<div class='new'></div>"); <div class="new"> <div class="inner">Hello</div> </div> <div class="new"> <div class="inner">Goodbye</div> </div>
.unwrap() 移出元素的父元素
.replaceWith() 把所有指定的元素替换成制定的html或dom元素
.empty() 删除匹配的元素集合中所有的子节点
$('p').empty(); //<p></p> 里的内容为空
.remove() 删除所有匹配的元素
$("p").remove(); //<p>hello</P> 整个删除
.detach()
.clone() 克隆匹配的dom元素,并选中这个克隆的副本,副本拥有同样的功能
.addSelf()
.contents() 匹配元素内部所有的子节点 元素节点<div> <p>... nodeType ==1;
属性节点 id class name... nodeType == 2;
文本节点 文本内容... nodeType ==3;
注释节点 nodeType == 8;
文档节点 document整个文档 nodeType ==9;
事件函数
.on() 在选择元素上绑定一个或多个事件处理函数
$('div.test').on({ click:function(){ $(this).toggleClass('active'); }, mouseenter:function(){ $(this).addClass('inside'); }, mouseleave:function(){ $(this).removeClass("inside") } });
$(p).on('click',{foo:'bar'},function(){}); $("form").on("submit",false;)//取消提交事件
$("body").on("click","p",function(){});
.off() 移除用.on()绑定的事件
.bind() $('form').bind('submit',function(){return false;}) 阻止默认事件和事件冒泡;
$('form').bind('submit',function(){ return false; // 取消默认事件和事件冒泡 event.preventDefault(); //只取消默认事件 event.stopPropagation(); //只阻止一个事件冒泡 });
.one() 绑定一个一次性的时间处理函数
.trigger() 在每一个匹配的元素上触发某类事件
$("form").trigger("submit");
.delegate() 指定的元素(被选元素的子元素)添加一个或多个事件处理函数;适用于当前或未来的元素(比如脚本创建的元素)
$('table').delegate('td','click',function(){ //div里的td $('p').slideToggle(); })
.toggle() 切换状态
.blur() 失去焦点时 返回false阻止默认事件
.change() 当元素的值发生改变时,仅适用于input text文本域 textarea 和 select
.keydown() keycode 空格 32 Enter 13 ESC 27
.resize() 调整浏览器窗口的大小时
.scroll() 当指定的元素发生滚动时的事件 $(window).scroll();$('div').scroll();
.select() 当textarea 或input中的文本 被选择时,发生select事件
.animate() 创建自定义动画的函数
<script> $( "#go" ).click(function() { $( "#block" ).animate({ width: "70%", opacity: 0.4, marginLeft: "0.6in", fontSize: "3em", borderWidth: "10px" }, 1500 ); }); </script>
.stop() 停止指定元素上的所有动画
$("#toggle").on("click",function(){ $(".block").stop().slideToggle(1000); //及时停止 });
.finish()
.delay() 设置延迟
$('#foo').slideUp(300).delay(800).fadeIn(400); //在slideup和fadein之间延时800毫秒
$.trim() 去掉字符串起始和结尾的空格
$.trim(" hello, how are you ? "); //'hello, how are you ?'
$.param() 序列化
param()方法 对数组或对象进行序列化,用于在内部将元素值转换为序列化的字符串
.toArray() 转化为数组
$('li').toArray(); //[<li id='foo'>, <li id="bar">]
.nextUntil() $("li .start").nextUntil('li .stop') 选择start和stop两个li 之间的所有同级元素
AJAX
$.ajax(url,[settings])
$.ajax({
url:'',
beforeSend:function(XMLHttpRequest){},
success:function(){},
dataFilter:function(data,type){},在请求成功之后调用,传入返回的数据以及‘dataType'参数的值,
complete:function(){},当请求完成之后调用此函数,无论成功失败。传入XMLHttpRequest对象,
error:function(){},
dataType:指定不同数据处理方式。除了默认的XML,还可以指定为html,json,jsonp,script,text.,!需要注意的是,我们必须确保服务器报告的MIME类型与我们选择的dataType所匹配。比如说xml的话,服务器必须声明text/xml或者application/xml来获得一致的结果。JSON数据是一种很能方便通过javascript解析的结构化数据。如果获取的文件存放在远程服务器上(域名不同,跨域获取数据),则需要使用JSONP请求。
processData:false,避免在数据发送给时,被默认转换成查询字符串;并且要指定恰当的contentType选项的值,
contentType:MIME类型,默认为application/x-www-form-urlencoded,
cache:false,禁用缓存
ifModified:true,辅助禁用缓存;默认false指仅在服务器数据改变时获取新数据
async:true,默认true异步,
statusCode:{404:function(){alert('pafe not found');}});
timeout:请求超时时间,
})
相关文章推荐
- Jquery删除table里面checkbox选中的多个行
- 仿阿里云购买时长选择
- jQuery 中 attr 和 prop 方法的区别
- jQuery插件的几种写法
- Jquery和BigFileUpload实现大文件上传及进度条显示
- jquery实现腾讯夜学堂功能模块开发
- jQuery LigerUI 插件介绍及使用之ligerTree
- C#项目发布到IIS后CSS及Jquery出现问题的几种情况
- Jquery用法
- jquery获取所有checked的value
- jquery的链式操作以及事件绑定
- jQuery的deferred对象详解
- 详解强大的jQuery选择器之过滤选择器、表单选择器
- jQuery实现表格的checkbox全选/取消全选
- jquery实现360浏览器宣传单页
- jQuery获取多种input值的方法
- JSP中Uploadify插件的使用(jQuery上传插件)
- jQuery事件详解
- 理解jquery的$.extend()、$.fn和$.fn.extend()
- jQuery时间格式转换