如何在 javascript 中选择使用相同类名的所有元素。我知道我可以使用它,document.getElementsByClassName
但我在某处读到它不是跨浏览器,所以如果它是真的,那么在没有 jQuery 或其他库的情况下根据类名选择元素的适当方法是什么。
谢谢!
如何在 javascript 中选择使用相同类名的所有元素。我知道我可以使用它,document.getElementsByClassName
但我在某处读到它不是跨浏览器,所以如果它是真的,那么在没有 jQuery 或其他库的情况下根据类名选择元素的适当方法是什么。
谢谢!
我找到了这段代码:
if (!document.getElementsByClassName) {
document.getElementsByClassName = function(classname) {
var elArray = [];
var tmp = document.getElementsByTagName("*");
var regex = new RegExp("(^|\\s)" + classname + "(\\s|$)");
for (var i = 0; i < tmp.length; i++) {
if (regex.test(tmp[i].className)) {
elArray.push(tmp[i]);
}
}
return elArray;
};
}
看这里:
我建议使用querySelector。它更自然,更接近 jQuery 语法,因此对大多数人来说更常见。而且它非常快,您不需要区分类、ID 或其他任何东西。
如果你想支持 IE<7,你需要一个像 gdoron 提供的垫片。
使用自 IE8 起支持的 document.querySelector 或 document.querySelectorAll 可能会更好。
看看这里:
https://developer.mozilla.org/docs/Web/API/document.querySelector https://developer.mozilla.org/docs/Web/API/document.querySelectorAll