我希望某些跨度的innerHTML没有唯一的ID,但它们确实有唯一的类
我想做var1 = document.getElementByCLASSNAME('')
修改
我不能使用Jquery,我甚至不能给元素propper ID。长篇故事
答案 0 :(得分:3)
document.getElementsByClassName = function(className)
{
var hasClassName = new RegExp("(?:^|\\s)" + className + "(?:$|\\s)");
var allElements = document.getElementsByTagName("*");
var results = [];
var element;
for (var i = 0; (element = allElements[i]) != null; i++) {
var elementClass = element.className;
if (elementClass && elementClass.indexOf(className) != -1
&& hasClassName.test(elementClass))
results.push(element);
}
return results;
}
基于这篇关于devshed的帖子:Get all elements of class 'abc'
答案 1 :(得分:2)
有一个getElementsByClassName
方法(由主流浏览器的最新版本支持),它返回具有指定类的所有元素的列表。当然,许多用户仍然使用较旧的浏览器,因此更简单的解决方案是使用jQuery等库并选择$('.someclass')
的元素。
答案 2 :(得分:0)
使用getElementsByClassName可能会导致IE版本出现问题。 querySelectorAll应该更广泛地兼容。即document.querySelectorAll('。my-class')或document.querySelectorAll('div.my-class')