Обращение к элементу по классу
Здравствуйте, подскажите как обращаться по классу? 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, время: 09:16. |