使用jQuery时,兄弟+选择器在IE7中不起作用

时间:2010-12-03 22:11:00

标签: jquery css

尝试使用jQuery选择兄弟元素,但在IE7中不起作用。

以下是我的示例代码:http://jsfiddle.net/y7AHz/6/(点击“运行”查看结果)

var numberOfListItems = $("#txtInput + ul.ulContainer li").length;
$("#output").text(numberOfListItems);

在IE8,Firefox,Safari中它可以工作(列表名称#3出现在3)。

3 个答案:

答案 0 :(得分:3)

这是一个known bug,在IE6和7中有一个sizzle(jQuery下面的选择器引擎)。相反,使用.next(),相当于+next adjacent选择器和.find()。它更详细,但它适用于IE6 +:

var numberOfListItems = $("#txtInput").next(".ulContainer").find("li").length;

Updated jsFiddle

答案 1 :(得分:2)

这也适用于IE7:

var foo= $("#txtInput + ul.ulContainer");
var numberOfListItems = $('li', foo).length;

 $("#output").text(numberOfListItems);

如果重要的话,不确定哪个提议的修复程序效果最好......

答案 2 :(得分:0)

只尝试它在ie7中也适用

var numberOfListItems = $("ul.ulContainer li").length;