我的情况
var domElements = document.body.getElementsByTagName('*');
现在我想返回数组项键 - 元素在数组中的位置 - (例如 domElements[34]
)在数组中搜索 id="的元素asd”
.
我怎样才能做到这一点?
如果我想通过 class="asd hey"
搜索而不是 ID 怎么办?
感谢任何帮助,谢谢!
注意:不在 jquery 中,在这种情况下我需要在纯 javascript 中
最佳答案
这样试试
var matches = document.querySelectorAll("#asd");
如果要按类搜索
var matches = document.querySelectorAll(".asd");
如果你想要你的代码的索引
这样试试
var domElements = document.body.getElementsByTagName('*');
for(var i=0;i<domElements.length;i++){
if(domElements[i].id==="asd"){
// search by id
// index i
}
if(domElements[i].className==="asd"){
// search by class
// index i
}
}
编辑
还有另一种方法可以找到索引
这样试试
var domElements = document.body.getElementsByTagName('*');
var domList= Array.prototype.slice.call(document.body.getElementsByTagName('*'));
var itemList = Array.prototype.slice.call(document.querySelectorAll(".asd"));
console.log(domList.indexOf(itemList[0])) // if you wanna find one index
//if you wanna search all index of class
for(var i=0;i<itemList.length;i++)
console.log(domList.indexOf(itemList[i]))
关于Javascript按类或id获取DOM数组中的元素索引位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31134087/