Javascript JS。如何获取div'的列表;有相似的类名吗?
我有html,如下所示:Javascript JS。如何获取div'的列表;有相似的类名吗?,javascript,html,Javascript,Html,我有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> 这是一个类似的问题,比如stackov
<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>
这是一个类似的问题,比如stackoverflow.com/questions/1225611/(但我在这个问题上没有声誉)。提前感谢。您可以编写一个函数来处理页面上包含您要查找的类的元素:
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');
你应该使用
不过,我在您的代码中看到了一些令人担忧的事情:
- 您正在按类名标识符选择对象,如果必须这样做,请使用属性。更好的方法是将元素存储在数组中,并直接引用它们
[]
而不是新数组()
。@RUJordan实际上,IE8支持。querySelectorAll
@Benjamin Gruenbaum非常感谢您的回答。
var matches = containsClass('bz_comment');
var matching = document.querySelectorAll('[class*="bz_comment"]')