JQuery中的過濾篩選方法

JQuery中的過濾篩選方法 與選擇器不同, 但實現的是選擇器的功能

eq(index): 同選擇器 :eq(index), index都從0開始

filter(expr):筛选出与指定表达式匹配的元素集合, 多個表達式用,分開, 多個表達式是OR的關係, 並不是and的關係

filter(fn): 对每个对象調用一次fn (正如 '$.each'). 如果调用的函数返回false则这个元素被删除,否则就会保留

HTML 代码:
<p><ol><li>Hello</li></ol></p><p>How are you?</p>
jQuery 代码:
$("p").filter(function(index) {
  return $("ol", this).length == 0;
});
结果:
[ <p>How are you?</p> ]

first()/last(): 不多解釋, 與:first,:last 同

has(exp):保留包含特定后代的元素,去掉那些不含有指定后代的元素

hasClass(class):检查当前的元素是否含有某个特定的类,如果有,则返回true.  这其实就是 is("." + class)。

is(expr):用一个表达式来检查当前选择的元素集合,如果其中至少有一个元素符合这个给定的表达式就返回true,如果没有元素符合,或者表达式无效,都返回false

not(expr): 删除与指定表达式匹配的元素

slice(start, [end]):选取一个匹配的子集

start:开始选取子集的位置。第一个元素是0.如果是负数,则可以从集合的尾部开始选起

end (可选): 结束选取自己的位置,如果不指定,则就是本身的结尾

选择前两个p元素
HTML 代码:
<p>Hello</p><p>cruel</p><p>World</p>
jQuery 代码:
$("p").slice(0, 2).wrapInner("<b></b>");
结果:
[ <p><b>Hello</b></p>,<p><b>cruel</b></p> ]

只选取第二个p元素
HTML 代码:
<p>Hello</p><p>cruel</p><p>World</p>
jQuery 代码:
$("p").slice(1, 2).wrapInner("<b></b>");
结果:
[ <p><b>cruel</b></p> ]

只选取第二第三个p元素
HTML 代码:
<p>Hello</p><p>cruel</p><p>World</p>
jQuery 代码:
$("p").slice(1).wrapInner("<b></b>");
结果:
[ <p><b>cruel</b></p>, <p><b>World</b></p> ]

选取第最后一个p元素
HTML 代码:
<p>Hello</p><p>cruel</p><p>World</p>
jQuery 代码:
$("p").slice(-1).wrapInner("<b></b>");
结果:
[ <p><b>World</b></p> ]

map(fn):将一组元素转换成其他数组

把form中的每个input元素的值建立一个列表。
HTML 代码:
<p><b>Values: </b></p>
<form>
  <input type="text" name="name" value="John"/>
  <input type="text" name="password" value="password"/>
  <input type="text" name="url" value="http://ejohn.org/"/>
</form>
jQuery 代码:
$("p").append( $("input").map(function(){
  return $(this).val();
}).get().join(", ") );
 //這裡使用get()是為了將Jquery對象轉化為DOM對象, 才可以調用DOM的 join()方法
结果: [
<p>John, password, http://ejohn.org/</p> ]

 

posted @ 2013-04-27 10:41  邪见  阅读(246)  评论(0)    收藏  举报