背景
这几天一直在用jquery写一个文件上传界面,用的是plupload和bootstrap,说是写,其实是一直在改plupload提供的js文件,改的过程发现自己对jquery掌握的还是不够熟练和系统,所以又把《锋利的jquery》拿出来,准备再好好读读。
今天就从选择器开始,为了好记,本文将分类器分为全局选择、层次选择以及表单选择。
全局选择
语法
全局选择就类似于在一篇文章用ctrl+F去查找,可作为选择条件的有标签,id,class,属性,筛选结果作为集合存在数组中。还可以在此基础上增加过滤条件做进一步的筛选,过滤的条件有索引、事件、属性以及内容。
整个结构如下图所示。
例子
<body>
<div id="one">
<span myAttr="attr">hello,one</span>
</div>
<div id="two">
<span myAttr="attr">hello,two</span>
</div>
</body>
1、属性选择器:
$.each($("[myAttr='attr']"),function(index,value){
console.log(value);
});
输出:
<span myattr="attr">hello,one</span>
<span myattr="attr">hello,two</span>
等号前可以:加*表示包含;加^/$表示起始/终止字符;加!表示不等于。
2、内容选择器
$.each($("div:contains(one)"),function(index,value){
console.log(value);
});
输出:
<div id="one">
<span style="white-space:pre"> </span><span myAttr="attr">hello,one</span>
</div>
3、选择第一个
$(function(){
console.log($("[myAttr='attr']:first").html());
console.log($("[myAttr='attr']:eq(0)").html());
console.log($("[myAttr='attr']:lt(1)").html());
console.log($("[myAttr='attr']:even").html());
});