Jquery 第一个选择器不';t首先过滤,但第一个子级过滤

Jquery 第一个选择器不';t首先过滤,但第一个子级过滤,jquery,html,jquery-mobile,jquery-selectors,Jquery,Html,Jquery Mobile,Jquery Selectors,我已经使用了很多次第一次,但这次它不工作,并且在控制台中没有错误。 我有这个html: <ul> <li class="iheader"><h1>TITLE</h1></li> //some more list items <li class="iheader"></li> </ul> 删除这两个类。我也试过: $('.iheader').filter(':first').removeClass(

我已经使用了很多次第一次,但这次它不工作,并且在控制台中没有错误。 我有这个html:

<ul>
<li class="iheader"><h1>TITLE</h1></li>
//some more list items
<li class="iheader"></li> 
</ul>
删除这两个类。我也试过:

$('.iheader').filter(':first').removeClass('iheader');
同样的结果

但是,如果我使用
first:child
,当html如上所述时,它确实可以工作

谁都知道为什么?这可能与我加入jQuery mobile有关吗?

试试看

$('.iheader:first-child').removeClass('iheader');
试一试

与:

与:


对于那些想知道acmes解决方案为何有效的人,
这是因为jQuery可以选择使用CSS选择器,而
:first child
是一个CSS选择器,它为作为其父元素的第一个子元素指定CSS。

对于那些想知道acmes解决方案为什么有效的人,
这是因为jQuery可以选择使用CSS选择器,
:first child
是一个CSS选择器,它为作为其父元素的第一个子元素指定CSS。

以小提琴的形式工作:。问题一定出在代码的其他地方。出于某种原因,@acme solution对我有效,您碰巧知道为什么吗?在一个小提琴中工作:。问题一定出在代码的其他地方。出于某种原因,@acme solution对我有效,你知道为什么吗?@eric.itzhak:你确定没有多次调用代码吗?这是我能想到的唯一解释。。。(你使用的是什么版本的jQuery?)你的代码也应该可以工作(就像其他人一样)-我想问题出在其他地方。但只要这是有效的,就使用它;-)@Matt ya有一次我把它称为就绪事件,我使用1.8.3。acme ya我会用它,但我真的很想知道为什么,因为这没有意义。是什么让你这么建议的?我应该提到我也包括jQuerymobile@eric.itzhak:您确定没有多次调用该代码吗?这是我能想到的唯一解释。。。(你使用的是什么版本的jQuery?)你的代码也应该可以工作(就像其他人一样)-我想问题出在其他地方。但只要这是有效的,就使用它;-)@Matt ya有一次我把它称为就绪事件,我使用1.8.3。acme ya我会用它,但我真的很想知道为什么,因为这没有意义。你为什么提出这个建议?我应该提到我也加入了jQuery mobileNo这也有同样的作用。我知道,但这是一个尝试另一种方式的建议哦,是的,我的意思是我尝试了,但没有成功:)谢谢你的帮助!不,这也有同样的作用。我知道,但这是一个尝试另一种方式的建议哦,是的,我的意思是我尝试了,但没有成功:)谢谢你的帮助!
$('.iheader:first-child').removeClass('iheader');
$('.iheader').first().removeClass('iheader');