至今仍未使用过的jQuery方法


jQuery用了很久了,但还是有很多方法,看上去很陌生,好像从来没有使用过。

live delegate的区别

live的事件源头的是document

delegate的源头是具体要绑定的元素

eq和get的区别

仔细查看下API文档就可以知道。eq返回的是一个jquery对象,get返回的是一个html 对象数组。举个例子:

<p style=”color:yellow”>绯雨</p>

使用eq来获得第一个p标签的color值:

$(“p”).eq(0).css(“color”)  //因为eq(num)返回的是个jq对象,所以可以用jq的方法css

使用get来获得第一个p标签的color值:

$(“p”).get(0).style.color  //因为get(num)返回的是个html对象,所以要使用传统的HTML对象方法,jq对象此时就没用了。

当然,你也可以get(num)后把对象转为jq的对象再进行操作:

$($(“p”).get(0)).css(“color”)

$.map()

a, $.map( [0,1,2], function(n){

  return n + 4;

});

结果:

[4, 5, 6]

b, $(“#xx”).map()

<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>

$(“p”).append( $(“input”).map(function(){

  return $(this).val();

}).get().join(“, “) );

结果:

[ <p>John, password, http://ejohn.org/</p> ]

/*———————— 筛选 ——————————*/

1,filter();

筛选出与指定表达式匹配的元素集合。

这个方法用于缩小匹配的范围。

返回值:用逗号分隔多个表达式

$(“p”).filter(“.selected”)

2,children()

取得一个包含匹配的元素集合中每一个元素的所有子元素的元素集合。

可以通过可选的表达式来过滤所匹配的子元素。

注意:parents()将查找所有祖辈元素,而children()只考虑子元素而不考虑所有后代元素。

$(“div”).children(“.selected”)

3,parents(“tr:first”);用来替换closest(“tr”);的

这个用得不熟练

4,end()

回到最近的一个”破坏性”操作之前。即,将匹配的元素列表变为前一次的状态。

如果之前没有破坏性操作,则返回一个空集。所谓的”破坏性”就是指任何改变所匹配的jQuery元素的操作。这包括在 Traversing 中任何返回一个jQuery对象的函数–‘add’, ‘andSelf’, ‘children’, ‘filter’, ‘find’, ‘map’, ‘next’, ‘nextAll’, ‘not’, ‘parent’, ‘parents’, ‘prev’, ‘prevAll’, ‘siblings’ and ‘slice’–再加上 Manipulation 中的 ‘clone’。

例如:

<p><span>Hello</span>,how are you?</p>

$(“p”).find(“span”).end()

结果:[ <p><span>Hello</span> how are you?</p> ]

解析:选取所有的p元素,查找并选取span子元素,然后再回过来选取p元素


5 responses on “至今仍未使用过的jQuery方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>