Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.09.2010, 19:02
Новичок на форуме
Отправить личное сообщение для igor' Посмотреть профиль Найти все сообщения от igor'
 
Регистрация: 02.09.2010
Сообщений: 5

изменение значения классов в 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';
}
Ответить с цитированием
  #2 (permalink)  
Старый 02.09.2010, 19:09
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

А ты в теме, что getElementsByClassName не кроссбраузерный метод? Он не работает в ие. Можно воспользоваться этим кодом

Последний раз редактировалось Sweet, 02.09.2010 в 19:13.
Ответить с цитированием
  #3 (permalink)  
Старый 02.09.2010, 19:15
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

А вообще, во-первых, будь внимательнее. Нет метода getElementByClassName, есть метод getElementsByClassName. А во вторых, этот метод возвращает массив объектов. Т.е. работать будет следующий вариант:
document.getElementsByClassName('eee')[0].style.display = 'block';
Ответить с цитированием
  #4 (permalink)  
Старый 02.09.2010, 19:20
Новичок на форуме
Отправить личное сообщение для igor' Посмотреть профиль Найти все сообщения от igor'
 
Регистрация: 02.09.2010
Сообщений: 5

Sweet,
Спасибо за пояснение, все работает.
Но вот если к премеру, я хочу чтоб для всех классов 'eee' использовать,
а не ('eee')[0] это можно реализовать? чтоб не прописывать ('eee')[1], ('eee')[2] и т.д. ?

чтобы прописать как бы document.getElementsByClassName('eee')[all].style.display = 'block'; для всех, это возможно?
Ответить с цитированием
  #5 (permalink)  
Старый 02.09.2010, 19:28
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

Метод 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';
}
Ответить с цитированием
  #6 (permalink)  
Старый 02.09.2010, 19:32
Новичок на форуме
Отправить личное сообщение для igor' Посмотреть профиль Найти все сообщения от igor'
 
Регистрация: 02.09.2010
Сообщений: 5

exec,
да, на счет кроссбраузерности, уже проверил ие не понимает-плохо =(
а на счет способа: 8) getElementsByClass() наверное не осилю изменить под себя.
А так спасибо за 2-ой вариант
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Очистка формы от дефолтных значений js hereim Общие вопросы Javascript 14 04.07.2010 21:29
Изменение и отображение значения переменной по клику Allan Stark Общие вопросы Javascript 1 25.04.2010 15:50
помогите задать переменную в js bsgroupua Общие вопросы Javascript 3 01.02.2010 18:28
Вывод JS значения в одну строку в HTML velo Общие вопросы Javascript 7 15.12.2009 03:57
Автоматически показывать изменение значения в БД Yura jQuery 1 30.11.2009 11:02