изменение значения классов в js
Доброго времени!
Как можно поменять значения класса class="eee" В js я полный ноль, прошу пояснить как можно реализовать это, вот что я намудрил =D : <h6>всплывающее окно подсказка </h6> <div class="maicop">По крайнеё мере <span onmouseover="vspl_w()" >что бы я не написал<em class="eee">это не будет иметь ни какой разницы</em></span></div> .maicop span{ display:inline; position:relative; border-bottom:1px dashed #69F; cursor: help;} .maicop em.eee{ height:26px; overflow:hidden; position:absolute; right:-70px; top:-30px; width:100px; border:1px solid #6CF; font:normal 9px/9px Arial, Helvetica, sans-serif; display:none; background:#eee; padding:2px 5px 0;} function vspl_w(){ document.getElementByClassName('eee').style.display = 'block'; } |
А ты в теме, что getElementsByClassName не кроссбраузерный метод? Он не работает в ие. Можно воспользоваться этим кодом
|
А вообще, во-первых, будь внимательнее. Нет метода getElementByClassName, есть метод getElementsByClassName. А во вторых, этот метод возвращает массив объектов. Т.е. работать будет следующий вариант:
document.getElementsByClassName('eee')[0].style.display = 'block'; |
Sweet,
Спасибо за пояснение, все работает. Но вот если к премеру, я хочу чтоб для всех классов 'eee' использовать, а не ('eee')[0] это можно реализовать? чтоб не прописывать ('eee')[1], ('eee')[2] и т.д. ? чтобы прописать как бы document.getElementsByClassName('eee')[all].style.display = 'block'; для всех, это возможно? |
Метод getElementsByClassName работает не во всех браузерах, кроссбраузерная реализация тут http://javascript.ru/unsorted/top-10...lementsbyclass
Насчёт второго вопроса: var elems = getElementsByClass( 'eee' ), len = elems.length, i; for ( i = 0; i < len; i++ ) { elems[i].style.display = 'block'; } |
exec,
да, на счет кроссбраузерности, уже проверил ие не понимает-плохо =( а на счет способа: 8) getElementsByClass() наверное не осилю изменить под себя. А так спасибо за 2-ой вариант :) |
Часовой пояс GMT +3, время: 21:06. |