怎么样
var elems = document.getElementsByClassName('someclass');
这将返回一组具有给定类的元素。然后您可以使用 访问它们elems[0]
,elems[1]
依此类推..
请记住,jQuery 最终是基于 JavaScript 的,因此从执行的角度来看,它不可能更快。
你可能会在这里找到一些有趣的 jQuery 到 JavaScript 的翻译
http://vanilla-js.com/
对于旧版本的 IE,您需要使用getElementsByTagName
并循环返回的元素。此实用程序功能应该从 IE6 开始兼容(可能类似于您链接到的解决方案)
function getElementsByAttributeValue(atrName,atrValue) {
var matchElems = [];
var allElems = document.getElementsByTagName('*');
for(var x = 0, len = allElems.length; x < len; x++) {
if(allElems[x].getAttribute(atrName) != atrValue) {
continue;
}
matchElems.push(allElems[x]);
}
return matchElems;
}
用法是:
var elems = getElementsByAttributeValue("class","someclass");