关于JQuery的简单问题:为什么$(this).find("span:first-child")这句话结果不正确?

关于JQuery的简单问题:为什么$(this).find("span:first-child")这句话结构不正确?

 

$("th[role='columnheader']").mouseenter(  function(){
    var index = $(this).index();
    alert( $(this).find("span:first-child").length );
});

 

 

我本意是想取得鼠标穿过的列里的第一个span。为什么这里Alert出来的值是3而不是1?

$("th[role='columnheader']") 有多个吧
这样你 看下 $("th[role='columnheader']").length有多少个?

能先把代码贴出来看看不!

alert( $(this).find("span:first-child").length );  

:first 是查出来的span集合中的第一个
:first-child 是查出来的span集合中的每一个第一个 你去看下api就明白了

1楼正解

':first' 只匹配一个元素,
':first-child'而将为每个父元素匹配一个子元素

例如:[code="java"]


  • John

  • Karl

  • Brandon



  • Glen

  • Tane

  • Ralph

[/code]
jQuery 代码:
[code="java"]$("ul li:first-child")[/code]
结果:[code="java"][ John, Glen ][/code]