Мы знаем, что Native JS предоставляет нам метод GetElementsByclassName, который может получить набор узлов, содержащих указанный класс с помощью этого метода. Обратите внимание, что это коллекция, то есть эта функция возвращает массив.
Тем не менее, IE не поддерживает этот метод, но этот метод очень практичен, поэтому мы должны реализовать такую функцию специально для IE.
Кода -копия выглядит следующим образом:
функция getElementsbyclassname (oele, sclass, sele) {
if (oele.getelementsbyclassname) {
return oele.getelementsbyclassname (Sclass);
}еще{
var aele = oele.getelementsbytagname (sele || '*'),
reg = new Regexp ('(^| // s)'+Sclass+'($ | // s)'),
arr = [],
i = 0,
ilen = aele.length;
for (; i <ilen; i ++) {
if (reg.test (aele [i] .classname)) {
arr.push (aele [i]);
}
}
возврат Arr;
}
}
Как использовать:
Кода -копия выглядит следующим образом:
// первый тип: выберите все класс под документом как элементы Div Box_box
getElementsbyclassname (Document, 'box_box', 'div') [0] .style.background = 'желтый';
// Второй тип: выберите весь класс под документом в качестве элементов Div Box-Box
getElementsbyclassname (документ, «box-box», 'div') [0] .style.background = 'желтый';
// Третий тип: выберите все классы под документом в качестве элементов Box-Box
getElementsbyclassname (документ, «box-box») [0] .style.background = 'желтый';
Требуются OELE и SCLASS, SELE не является обязательным.
Нет никаких проблем с горизонтальной линией или подчеркиванием в скольжении, таких как Box-Box Box_box; Но если это другие специальные персонажи, вполне вероятно, что будут проблемы, такие как Box $ Box ... Конечно, вы можете добавить побеги, чтобы получить специальных персонажей самостоятельно, например, Box // $ Box ...
Совместимость: тест IE6+
Друзья, вы будете знать это после использования самостоятельно. Это очень легко использовать. Давайте распределим его с другими друзьями.