Обращение к элементу по классу
Здравствуйте, подскажите как обращаться по классу? documentGetElementByClass нету, а в сети большая часть примеров нерабочие. Подскажите что делать?
|
Цитата:
<!DOCTYPE HTML>
<html>
<head> </head>
<body>
<div class="t"></div>
<div class="t"></div>
<div class="t"></div>
<div class="t"></div>
<script>
var elems = document.getElementsByClassName("t");
alert(elems.length);
</script>
</body>
</html>
|
Суди по записям на других форумах, не все брузеры это поддерживают
|
shtopor, либо забейте на ие меньше 8 , либо используйте jquery.
или так
function Cls(FindClass){
var allTag, allElem, arrE = [], i;
if(document.getElementsByClassName){
return document.getElementsByClassName(FindClass);
}
allElem = document.body.getElementsByTagName('*');
i = allElem.length;
while(i--){
if(allElem[i].className == FindClass) arrE.push(allElem[i]);
};
return arrE;
}
|
Спасибо большое, забыл про getElementsByTagName)) А как заменит тег? innerHTML отвечает только за содержимое.
|
shtopor, что бы не завадть глупых вопрос по читайте http://learn.javascript.ru/dom
|
Цитата:
IE8 поддерживает querySelectorAll('.t'), так что можно его использовать. |
a_l, да чет думал до 8й, а оказалось до 9й)
тогда можно так
function Cls(FindClass){
var allElem, arrE = [], i;
if(document.getElementsByClassName){
return document.getElementsByClassName(FindClass);
}
else if(document.querySelectorAll){
return document.querySelectorAll("."+FindClass);
}
allElem = document.body.getElementsByTagName('*');
i = allElem.length;
while(i--){
if(allElem[i].className == FindClass) arrE.push(allElem[i]);
};
return arrE;
}
|
| Часовой пояс GMT +3, время: 19:47. |