尝试使用jQuery选择兄弟元素,但在IE7中不起作用。
以下是我的示例代码:http://jsfiddle.net/y7AHz/6/(点击“运行”查看结果)
var numberOfListItems = $("#txtInput + ul.ulContainer li").length;
$("#output").text(numberOfListItems);
在IE8,Firefox,Safari中它可以工作(列表名称#3出现在3)。
答案 0 :(得分:3)
这是一个known bug,在IE6和7中有一个sizzle(jQuery下面的选择器引擎)。相反,使用.next()
,相当于+
或next adjacent
选择器和.find()
。它更详细,但它适用于IE6 +:
var numberOfListItems = $("#txtInput").next(".ulContainer").find("li").length;
答案 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;