$.makeArray($('ul#NavAContent li')).indexOf($('ul#NavAContent li#A1'))
id为A1的li元素位于ul#NavAContent中,但indexOf函数返回 -1 ,我做错了什么?
答案 0 :(得分:1)
jQuery
函数返回一个类似于数组的对象,其中包含给定选择器匹配的所有元素。这是每次都有一个新数组,因此您使用indexOf
搜索的数组与提供给makeArray
的数组不同。
这有效(并且应该证明问题):
$.makeArray($('ul#NavAContent li')[0]).indexOf($('ul#NavAContent li')[0])
答案 1 :(得分:1)
您不是要比较元素,而是比较jQuery对象(它们是元素的容器);
$("#footer") !== $("#footer")
但
$("#footer")[0] === $("#footer")[0]
(在此页面上进行了测试)
这样做:
$('#NavAContent li').toArray().indexOf( $('#A1')[0] );
我删除了一些限制词,希望上帝你没有使用具有相同id的多个元素。