我正在寻找创建一个函数,该函数将HTML中的所有元素与同一个类相关联,并返回每个元素的id的数组并将其记录到控制台。在纯JavaScript中最好的方法是什么 - 没有jQuery。代码如下:
function subTotal() {
var regular = document.getElementsByClassName("regular").id,
gourmet = document.getElementsByClassName("gourmet").id;
console.log(regular);
}
提前感谢您的帮助
答案 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'))
});