Javascript 如何在没有jquery的情况下查找集合中元素的索引
我有一个div中的元素集合 让我们说:Javascript 如何在没有jquery的情况下查找集合中元素的索引,javascript,arrays,dom,indexing,Javascript,Arrays,Dom,Indexing,我有一个div中的元素集合 让我们说: <div> <p id="one">one</p> <p id="two">two</p> <p id="three">three</p> <p id="four">four</p> </div> 这应该返回一个值为2的整数,因为该元素是第三个 我知道jquery中有类似的东西,但我喜欢纯js。您可以使用数组对象的内置i
<div>
<p id="one">one</p>
<p id="two">two</p>
<p id="three">three</p>
<p id="four">four</p>
</div>
这应该返回一个值为2的整数,因为该元素是第三个
我知道jquery中有类似的东西,但我喜欢纯js。您可以使用数组对象的内置
indexOf
属性,如下所示:
var child_element = document.getElementById('three');
var parent_element = child_element.parentNode;
var i = Array.prototype.indexOf.call(parent_element.children, child_element);
可以使用数组对象的内置
indexOf
属性,如下所示:
var child_element = document.getElementById('three');
var parent_element = child_element.parentNode;
var i = Array.prototype.indexOf.call(parent_element.children, child_element);
您需要执行
parent\u元素。children
这不起作用,我们正在选择子元素,因为它具有唯一的ID,而且我们已经在使用选择器了。代码应该可以正常工作。嗯,你试过了吗?因为它返回-1
而不返回。children
请参阅Good call Amir,感谢您的修复。您需要执行parent\u元素。children
这不起作用,我们正在选择子项,因为它具有唯一的ID,而且我们已经在使用选择器。代码应该可以正常工作。嗯,你试过了吗?因为它返回-1
而不返回。儿童
请参阅Good call Amir,感谢您的修复。