Javascript .indexOf 表示 2 个相等的元素不相等

标签 javascript jquery

$.makeArray($('ul#NavAContent li')).indexOf($('ul#NavAContent li#A1'))

id 为 A1 的 li 元素在 ul#NavAContent 中,但 indexOf 函数返回 -1,我做错了什么?

最佳答案

您不是在比较元素,而是在比较 jQuery 对象(它们是元素的容器);

$("#footer") !== $("#footer")

但是

$("#footer")[0] === $("#footer")[0]

(测试在此页面上运行)

那么这样做:

$('#NavAContent li').toArray().indexOf( $('#A1')[0] );

我删除了一些限定符,希望上帝保佑您没有使用具有相同 ID 的多个元素。

关于Javascript .indexOf 表示 2 个相等的元素不相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8825170/

相关文章:

javascript - 命名匿名函数与匿名函数

JavaScript 每 15 分钟计算一个值并在午夜重置它

javascript - 查询选择方法 -.ready() 与实用方法 - $.ready()

javascript - jquery 变量到 $(jquery 变量),两者有什么区别

jquery - 如何在嵌套的 ajax asp.net 选项卡中设置子选项卡高度?

javascript - 将 json 数组从 PHP 返回到 jQuery AJAX

javascript - 为什么 Array.map Array.forEach 异步操作需要 Promise.all?

javascript - 井字棋 javascript 答案检查器

JavaScript – 检测元素是否在视口(viewport)中停留 n 秒

javascript - 捕获特定 jQuery Mobile 页面上的滚动事件