Javascript按类或id获取DOM数组中的元素索引位置

its*_*sme 3 javascript dom elements selector

我的情况

var domElements = document.body.getElementsByTagName('*');
Run Code Online (Sandbox Code Playgroud)

现在我想返回数组项键 - 数组中元素的位置 - (例如domElements[34])在数组中搜索带有id="asd".

我怎样才能做到这一点?

如果我想搜索槽而不是 ID 怎么class="asd hey"办?

任何帮助表示赞赏,谢谢!

注意:不是在 jquery 中,在这种情况下我需要在纯 javascript 中

Ani*_*bhi 6

像这样尝试

var matches = document.querySelectorAll("#asd");
Run Code Online (Sandbox Code Playgroud)

如果您想按类别搜索

var matches = document.querySelectorAll(".asd");
Run Code Online (Sandbox Code Playgroud)

如果您想要代码的索引

像这样尝试

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 
   }
}
Run Code Online (Sandbox Code Playgroud)

编辑

还有另一种方法可以找到索引

像这样尝试

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]))
Run Code Online (Sandbox Code Playgroud)