关于JQuery的选择和过滤
首先,比较简单的我们就不过多陈述,JQuery的选择器类似于css 的选择器,所以在这不做过多陈述。
在这篇文章里,我们主要讨论过滤器的使用;
1.过滤器(Filter):过滤器一般不单独使用,他通常附加在选择器上,帮助我们更精确地定位元素。举例如下:
$('ul.lang li:nth-child(even)');//选出序号为偶数的元素 $('ul.lang li:nth-child(odd)');//选出序号为奇数的元素
2.针对表单相关元素,JQuery还有一组特殊的选择器:
-
:input
:可以选择<input>
,<textarea>
,<select>
和<button>
; -
:file
:可以选择<input type="file">
,和input[type=file]
一样; -
:checkbox
:可以选择复选框,和input[type=checkbox]
一样; -
:radio
:可以选择单选框,和input[type=radio]
一样; -
:focus
:可以选择当前输入焦点的元素,例如把光标放到一个<input>
上,用$('input:focus')
就可以选出; -
:checked
:选择当前勾上的单选框和复选框,用这个选择器可以立刻获得用户选择的项目,如$('input[type=radio]:checked')
; -
:enabled
:可以选择可以正常输入的<input>
、<select>
等,也就是没有灰掉的输入; -
:disabled
:和:enabled
正好相反,选择那些不能输入的。
3.此外JQuery还有很多有用的选择器。例如
$('div:visible'); //所有可见的div
$('div:hidden'); //所有隐藏的div
4.查找和过滤
查找
find()方法来进行某个节点的所有子节点查找。
如果要从当前节点开始向上查找,使用parent()方法;
对于位于同一层级的节点,可以通过next()和prev()方法,
过滤
filter()函数
map()
方法把一个jQuery对象包含的若干DOM节点转化为其他对象:
var langs = $('ul.lang li'); // 拿到JavaScript, Python, Swift, Scheme和Haskell var arr = langs.map(function () { return this.innerHTML; }).get(); // 用get()拿到包含string的Array:['JavaScript', 'Python', 'Swift', 'Scheme', 'Haskell']
努力地向月光下的影子——骇客靠拢!!!
黎明之花,待时绽放