JavaScript - 使用相同的类名创建所有元素ID的数组

时间:2014-07-21 22:07:28

标签: javascript

我正在寻找创建一个函数,该函数将HTML中的所有元素与同一个类相关联,并返回每个元素的id的数组并将其记录到控制台。在纯JavaScript中最好的方法是什么 - 没有jQuery。代码如下:

function subTotal() {
var regular = document.getElementsByClassName("regular").id,
gourmet = document.getElementsByClassName("gourmet").id;

console.log(regular);
}

提前感谢您的帮助

3 个答案:

答案 0 :(得分:4)

从元素创建一个数组(调用Array.prototype.slice)并映射元素id:

var regulars = [].slice.call(document.querySelectorAll('.regular'))
               .map(function (el) {return el.id || 'anonymous';});

答案 1 :(得分:0)

由于您已经拥有了一系列您感兴趣的元素,现在您必须遍历它们,然后选择ID:

var array = [];
var regular = document.getElementsByClassName("regular");
for(var i=0; i<regular.length; i++)
   array.push(regular[i].getAttribute('id'));

答案 2 :(得分:0)

请在此fiddle

中找到工作副本

标记:

<div class="regular" id="div1"></div>
<div class="regular" id="div2"></div>
<div class="regular" id="div3"></div>
<div class="regular" id="div4"></div>
<div class="regular" id="div5"></div>

JS:

var regulars = [].slice.call(document.getElementsByClassName('regular'));
regulars.forEach(function(regular){
  console.log(regular.getAttribute('id'))
});