Новые браузеры (IE9 и выше) имеют поддержку для document.getElementsByClassName
(что по иронии судьбы означает, что он имеет меньшую поддержку, чем querySelectorAll
, но яотступить ...), но это, вероятно, не будет соответствовать вашим потребностям в совместимости.В этом случае вы можете использовать что-то вроде этого, чтобы получить массив узлов с классом.
var nodes = document.getElementsByTagName('*'),
targetClass = 'myclass',
result = [];
for(var i = 0, l = nodes.length; i < l; i++){
if((nodes[i].className + ' ').indexOf(targetClass + ' ') !== -1){
result.push(nodes[i]);
}
}
Это не точный дубликат getElementsByClassName
, поскольку эта функция возвращает NodeList
, но она должна быть достаточно близко для большинства целей.