Jquery通配选择符
今天逛Q群遇到一个网友请教问题:
公司主营业务:做网站、成都做网站、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联公司是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联公司推出南宫免费做网站回馈大家。
问题如下,他需要在查找ID为sch开头的元素中分别查找出各自包含sub001的数量,
如:ID:sch002、sch033 DIv元素等等后面的数字是随机的,里面都会包含sub001元素,数量不一;一开始网友是想打算使用for循环来解决,无疑会中招;因为第一循环量大(因为你无法预计sch后的数字有多小位需要设定一个)造成运行损耗内存大,运行速度慢,而且查找到没有元素操作时会报错。
所以我介绍他使用^= Jquery的统配选择符,确实好使好用立马解决他的问题;解决原一后他又提了一个问题,他需要分别获取sch后面那个数字需要怎么做? 其实来到这一步思路都清晰的,直接获取一下是sch开头的元素,然后$(this) attr一下ID属性,再利用js截取一下字符,OK搞掂 !!
下面就是一个小例子:
$(function(){
$("div[id^='sch']").each(function(){
var schsize = $(this).find('#sub001').size();
var thisId = $(this).attr('class');
alert(thisId+"含#d1的数量为"+schsize );
//利用substring截取sch后的数字
alert(thisId.substring(3) )
})
})
普及一下:
1.选择器
(1)通配符:
$("input[id^='code']");//id属性以code开始的所有input标签
$("input[id$='code']");//id属性以code结束的所有input标签
$("input[id*='code']");//id属性包含code的所有input标签
(2)根据索引选择
$("tbody tr:even"); //选择索引为偶数的所有tr标签
$("tbody tr:odd"); //选择索引为奇数的所有tr标签
(3)获得jqueryObj下一级节点的input个数
jqueryObj.children("input").length;
(4)获得class为main的标签的子节点下所有标签
$(".main > a");
(5)选择紧邻标签
jqueryObj.next("div");//获取jqueryObj标签的后面紧邻的一个div,nextAll获取所有
2.筛选器
//not
$("#code input:not([id^='code'])");//id为code标签内不包含id以code开始的所有input标签
3.事件
//处理文本框上的键盘操作
jqueryObj.keyup(function(event){
var keyCode = event.which;//获取当前按下键盘的键值,回车键为13
}
4.工具函数
$('#someField').val($.trim($('#someField').val()));//消除空格,语法:$.trim(value)
不会到会,只是一个过程!
新闻标题:Jquery通配选择符
文章URL:http://pwwzsj.com/article/gcisep.html