我有html,就像这样:
<div id="c0" class="bz_comment bz_first_comment"></div>
<div id="c1" class="bz_comment"></div>
<div id="c2" class="bz_comment"></div>
<div class="bz_add_comment"></div>
如何在JavaScript(不使用JQuery)中以“bz_comment [anysymbols]”开头的类中获取所有div的数组(示例中为3 div)?
或者我可以通过以“c [numeric_value]”开头的id得到div的数组吗?
[numeric_value_can_consist_of_some_numbers]
这是类似于stackoverflow.com/questions/1225611/的问题(但我在这个问题上没有声誉)。提前谢谢。
答案 0 :(得分:5)
您应该使用.querySelectorAll
var matching = document.querySelectorAll('[class*="bz_comment"]')
我在你的代码中看到了一些令人担忧的事情:
答案 1 :(得分:3)
您可以编写一个函数来处理页面上包含您正在查找的类的元素:
function containsClass(matchClassName) {
var matches = new Array();
var elems = document.getElementsByTagName('div'), i;
for (i in elems) {
if((' ' + elems[i].className + ' ').indexOf(' ' + matchClassName + ' ') > -1) {
matches.push(elems[i]);
}
}
return matches;
}
现在你可以写
了var matches = containsClass('bz_comment');