JQuery杂项方法
1、数据操作
【data()】
该方法用于在匹配元素上存储任意相关数据或返回匹配的元素集合中的第一个元素的给定名称的数据存储的值
data(key,value)
data(obj)
data(key)
data()
$("body").data("foo",52);
$("body").data("bar",{myType:"test",count:40}};
$("body").data{{baz:[1,2,3]});
console.log($("body").data("foo"));
console.log($("body").data());
如果使用原生javascript,相当于
document.body.foo=52;
console.log(document.body.foo);
【removeData()】
removeData()方法允许移除用.data()绑定的值。当带name参数调用的时候,.removeData()将删除那个特有的值,当不带任何参数的时候,所有的值将被移除。
从jQuery的内部.data()缓存不影响任何在文档中的HTML5的data属性,使用.removeAttr()可以移除这些属性
当使用.removeData("name")时,如果没有这个属性名字是在内部数据缓存,jQuery将试图在元素上找到一个data的属性,为了避免重复查询data属性,
将这个名称设置为无论是null或undefined的值
removeData([name])
removeData([list])
$('body').data("test1","VALUE-1");
.data("test2","VALUE-2");
console.log($('body').data());
$('body').removeData("test1");
console.log($('body').data());
如果使用原生JavaScript,相当于
document.body.foo=52;
console.log(document.body.foo);
delete document.body.foo;
console.log(document.body.foo);
2、队列操作
【queue()】
显示或操作匹配的元素上已经执行的函数队列
queue([queueName])//queueName:String一个含有队列名的字符串,默认是fx,标准的动画队列
queue([queueName],newQueue)//newQueue:Array一个替换当前队列内容的函数组
queue([queueName],callback(next))//callback(next):Function()将要添加到队列中的新函数
被调用时,会从弹出队列中的下一个元素
var div=$("div");
div.show("slow");
div.animate({left:'+=200'},2000);
var n=div.queue('fx');
console.log(n.length);
【clearQueue()】
从队列中移除所有未执行的项
clearQueue([queueName])
3、集合操作
【each()】
遍历一个jQuery对象,为每个匹配元素执行一个函数
each(function(index,function(index,ELement)))
$("li").each(function(index){
console.log(index+":""+$(this).text());
});
【add()】add()方法添加元素到匹配的元素集合。add()方法的参数可以几乎接受任何的$(),包括一个jQuery选择器表达式,DOM元素,或HTML片段引用
add(selector)
add(elements)
add(html)
add(jQuery object)
add(selector,context)
$('li').add('p')
$('li').add('<p id="new">new paragraph</p>')
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<ul>
<li>list item1</li>
<li>list item2</li>
<li>list item3</li>
</ul>
<div>div</div>
<button id="btn">按钮</button>
<script>
$('#btn').click(function(){
$('li').add('div').css('background','lightgreen');
})
</script>
【get()】
通过检索匹配jQuery对象得到对应的DOM元素
get([index])index:Number从0开始计数,用来确定获取哪个元素
$("li").get(0)
【index()】
从匹配的元素中搜索给定元素的索引值,从0开始计数
index([selector或element])
如果不传递任何参数给.index() 方法,则返回值就是加QUR有对象中第一个元素相对于它同辈元素的位置
如果在一组元素上调用.index(),并且参数是一个DOM元素或jQuery对象,.index()返回值就是传入的元素相对于原先集合的位置
如果参数是一个选择器,.index()返回值就是原先元素相对于选择器匹配元素的位置。如果找不到匹配的元素,则.index()返回-1
$('#bar').index();
listItem.Index('li');
$('li').index($('li:gt(0)'));
【toArray()】
返回一个包含jQuery对象集合中的所有DOM元素的数组
toArray()这个方法不接受任何参数
alert($('li').toArray());
4、索引过滤
索引选择器是jQuery过滤选择器的一部分。与此同时,也存在功能相似的索引相关的方法,包括eq(),first(),last()
【eq()】
eq()方法匹配元素的集合为指定的索引的哪一个元素。eq()方法可以接受一个整数作为参数,以0为基数,若整数为负数,则从集合中的最后一个
元素开始计数
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script>
<ul>
<li>list item1</li>
<li>list item2</li>
<li>list item3</li>
<li>list item4</li>
<li>list item5</li>
</ul>
<button id="btn1">按钮一</button>
<button id="btn2">按钮二</button>
<button id="btn3">按钮三</button>
<script>
$('#btn1').click(function(){
$('li').eq(0).css('border','1px solid red');
})
$('#btn2').click(function(){
$('li').eq(-1).css('border','1px solid blue');
})
$('#btn3').click(function(){
$('li').eq(2).css('border','1px solid green');
})
</script>
【first()】
first()方法获取匹配元素集合中第一个元素,该方法不接受参数
【last()】
last()方法获取匹配元素集合中最后一个元素,该方法不接受参数
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <button id="btn1">按钮一</button> <button id="btn2">按钮二</button> <script> $('#btn1').click(function(){$('li').first().css('border','1px solid red'); }) $('#btn2').click(function(){$('li').last().css('border','1px solid blue'); }) </script>
【end()】
终止在当前链的最新过滤操作,并返回匹配的元素的以前状态
end() 这个方法不接受任何参数
end() 方法主要用于 jQuery 的链式属性中。当没有使用链式用法时,我们通常只是调用变量名上的前一个对象,所以我们不需要操作栈。使用 end() 时,我们可以一次性调用所有需要的方法
$('ul.first').find('.foo').css('background-color', 'red').end().find('.bar').css('background-color', 'green');
在上面的代码中,首先在链式用法中只在第一个列表中查找样式为 foo 的项目,并将其背景色变成红色。然后 end() 返回调用 find() 之前的状态。因此,第二次 find() 将只会查找 <ul class="first"> 中的 '.bar',而不是继续在 <li class="foo"> 中进行查找,结果是将匹配到的元素的背景色变成绿色
内容过滤
jQuery选择器中包括内容过滤选择器,而jQuery中也存在功能类似的内容过滤的方法,包括has()、filter()、is()、not()、map()、slice()
【has()】
has()方法用于筛选匹配元素集合中有相匹配的选择器或DOM元素的后代元素的父元素
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2<ul><li>list item 2-a</li><li>list item 2-b</li></ul></li><li>list item 3</li> </ul> <button id="btn">按钮</button> <script> $('#btn').click(function(){$('li').has('ul').css('border', '1px solid lightblue'); }) </script>
【map()】
map()方法通过一个函数匹配当前集合中的每个元素
作为参数的函数有两个参数,第一个参照是匹配集合中的元素索引,第二个参数是当前索引的DOM元素对象
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <input value="text"> <input value="text"> <input value="text"> <button id="btn">按钮</button> <script> $('#btn').click(function(){$('input').map(function(index,dom){dom.value += index;}); }) </script>
【filter()】
filter()方法从匹配的元素集合中筛选出指定的元素,参数可以是一个选择器字符串、一个或多个DOM元素、jQuery对象或一个函数
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <button id="btn">按钮</button> <script> $('#btn').click(function(){$('li').filter(':even').css('border','1px solid lightgreen') }) </script>
filter()方法中作为参数的函数有两个参数,第一个参照是匹配集合中的元素索引,第二个参数是当前索引的DOM元素对象。如果函数返回值为true,则该元素保留;否则,该元素在匹配集合中被去除
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <button id="btn">按钮</button> <script> $('#btn').click(function(){$('li').filter(function(index,dom){if(!(index % 3)){$(dom).css('border','1px solid lightgreen')return true;}}) }) </script>
【not()】
not()方法与filter()方法正好相反,它从匹配的元素集合中移除指定的元素,参数可以是一个选择器字符串、一个或多个DOM元素、jQuery对象或一个函数
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <button id="btn">按钮</button> <script> $('#btn').click(function(){$('li').not(':even').css('border','1px solid lightgreen') }) </script>
not()方法中作为参数的函数有两个参数,第一个参照是匹配集合中的元素索引,第二个参数是当前索引的DOM元素对象。如果函数返回值为true,则该元素被去除;否则,该元素在匹配集合中保留
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <button id="btn">按钮</button> <script> $('#btn').click(function(){$('li').not(function(index,dom){if(!(index % 3)){$(dom).css('border','1px solid lightgreen')return true;}}) }) </script>
【is()】
is()方法用于判断当前元素是否与参数相匹配,如果匹配,则返回true;否则,返回false。参数可以是一个选择器,DOM元素,jQuery对象或函数
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <script> $('li').click(function(){if($(this).is(':contains("2")')){$(this).css('border','1px solid black')} }) </script>
is()方法中作为参数的函数有两个参数,第一个参照是匹配集合中的元素索引,第二个参数是当前索引的DOM元素对象。如果函数返回true,is()方法也返回true,如果函数返回false,is()方法也返回false
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <div id="result"></div> <script> var i = 0; $('li').click(function(){++i;if($(this).is(function(index,dom){$('#result').html(dom.innerHTML);if(i%2){return true; }})){$(this).css('border','1px solid black')} }) </script>
【slice()】
slice()方法根据指定的下标范围,过滤匹配的元素集合,并生成一个新的jQuery对象
slice(start[,end])方法接受两个参数:start和end
start是一个整数,从0开始计数的下标。代表将要被选择的元素的起始下标。如果指定的下标是一个负数,那么代表从末尾开始计数
end是一个整数,从0开始计数的下标。代表将要被选择的元素的结束下标。如果指定的下标是一个负数,那么代表从末尾开始计数。如果忽略此参数,则选择的范围是从start开始,一直到最后
<script src="http://cdn.bootcss.com/jquery/1.12.4/jquery.min.js"></script> <ul><li>list item 1</li><li>list item 2</li><li>list item 3</li><li>list item 4</li><li>list item 5</li> </ul> <button id="btn">按钮</button> <script> $('#btn').click(function(){$('li').slice(2,4).css('background', 'red'); }) </script>
转载于:https://www.cnblogs.com/zzp0320/p/6962508.html
JQuery杂项方法相关推荐
- jQuery杂项进阶(四)
文章目录 一.$ 的替换 二.使用JSONP实现跨域 三.jQuery 杂项方法.实用工具.回调对象.延迟对象参考 ☆ 四.jQuery 自身属性参考 ☆ 五.jQuery 插件介绍和参考 ☆ jQu ...
- jQuery 事件方法大全
Dom : Attribute:$("p").addClass(css中定义的样式类型); 给某个元素添加样式$("img").attr({src:" ...
- jQuery on()方法
jQuery on()方法是官方推荐的绑定事件的一个方法. $(selector).on(event,childSelector,data,function,map) 由此扩展开来的几个以前常见的方法 ...
- JQuery Attributes 方法说明
转:http://blog.sina.com.cn/s/blog_5ea2cb7e0100c4cx.html JQuery Attributes 方法说明(2009-02-17 01:02:33) 标 ...
- Jquery getJSON方法分析(一)
准备工作 ·Customer类 public class Customer { public int Unid { get; set; } public string Customer ...
- jQuery 遍历方法
jQuery 遍历方法 方法 描述 add() 把元素添加到匹配元素的集合中 addBack() 把之前的元素集添加到当前集合中 andSelf() 在版本 1.8 中被废弃.addBack() 的别 ...
- jquery ajax html方法吗,jQuery ajax方法
jQuery AJAX 方法 jQuery load() 方法是简单强大的AJAX方法.从服务器加载数据,并将数据显示在被选中元素中. 语法: $(selector).load(URL,data,ca ...
- jquery订阅发布插件代码草稿,为jquery扩展jquery.publish,jquery.subscribe方法
jquery订阅发布插件代码草稿! jquery订阅发布插件代码草稿,为jquery扩展jquery.publish,jquery.subscribe方法 --- jquery订阅发布插件代码草稿 & ...
- jQuery Css方法
jQuery css() 方法 css() 方法设置或返回被选元素的一个或多个样式属性. 返回 CSS 属性 如需返回指定的 CSS 属性的值,请使用如下语法: css("propertyn ...
- jQuery on()方法绑定动态元素的点击事件无响应的解决办法
$('#check_all').on('click' , function(){ alert(1); }); $("#yujinlist").append(html); count ...
最新文章
- Vue开发入门看这篇文章就够了
- html与css结合动效案例,CSS3制作动画效果例子
- 下边框_山寨iPhone12Pro开箱:浴霸四摄更小,下边框有点宽
- 4.5. Rspamd
- JavaTPoint 数据科学和人工智能中文教程【翻译完成】
- CCOMBOX下拉弹出框,因属性对话框自动隐藏而弹出框没有隐藏问题
- 开源房产中介管理系统
- led点阵c语言程序,LED点阵显示数字 c语言程序 51
- 计算机应用技术专业是属于文科生,计算机应用技术专业是文科还是理科
- WebView 加载微信公众号文章加载失败或图片不显示
- java privatekey输出字符串_根据字符串(String)生成公钥(PublicKey)和私钥(PrivateKey)对象...
- c#通过键盘输入若干个整数,长度不得多于20个,最后将其中最大的数输出,采用控制台的形式实现。
- 数据库应用——MySQL集群
- Linkflow CDP亮相GDMS全球数字营销峰会
- 虚拟机CentOS7启动报错:Entering emergency mode
- 取消福昕阅读器手型工具向下的箭头
- CMOS图像传感器——Remosaic技术
- win10引导项误删修复
- veriog中的latch问题
- C语言论坛系统[2023-01-03]