Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 31.03.2011, 23:13
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

Действие написанное на несколько id
<div id="bm">Текст1</div>
<div id="bm">Текст2</div>
<div id="bm">Текст3</div>

Как без изменения Html кода изменить class того элемента на который наведен курсор?

мой код:
document.getElementById('bm').onmouseover=function (){
	this.className = "action";
}


в результате работает только первый элемент Текст1
Ответить с цитированием
  #2 (permalink)  
Старый 31.03.2011, 23:46
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от BorodinKO Посмотреть сообщение
<div id="bm">Текст1</div>
<div id="bm">Текст2</div>
<div id="bm">Текст3</div>

Как без изменения Html кода изменить class того элемента на который наведен курсор?

мой код:
document.getElementById('bm').onmouseover=function (){
	this.className = "action";
}


в результате работает только первый элемент Текст1
конечно только он будет работать. ID предполагает уникальный идентификатор, а не общий. общий - это класс, атрибут, имя тега наконец.

смотрите, вот

<style>
div { border-left: 5px white solid;  }
.bm {
border-color: red;
}
.action {
border-color: yellow;
}
</style>

<div class="bm">Текст1</div>
<div class="bm">Текст2</div>
<div class="bm">Текст3</div>

<script>
var arr = document.getElementsByTagName('div');
function a(){  this.className = ( this.className === "action" )? "bm" : "action";  }
for(var i = 0, b = arr.length ; i<b;i++){
 arr[i].onmouseover = a;

// можно убрать mouseout тогда он будет багнутый.
 arr[i].onmouseout = a;
}
</script>


я думаю,для этого это затевалось

хочу вас расстроить,сделать это можно было через CSS


<style>
div { border-left: 5px white solid;  }
.bm {
border-color: red;
}
.bm:hover {
border-color: yellow;
}
</style>

<div class="bm">Текст1</div>
<div class="bm">Текст2</div>
<div class="bm">Текст3</div>
Ответить с цитированием
  #3 (permalink)  
Старый 31.03.2011, 23:57
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

Цитата:
хочу вас расстроить,сделать это можно было через CSS
.onmouseover я поставил для наглядность ... а вообще у меня другая функция должна быть =)
Ответить с цитированием
  #4 (permalink)  
Старый 31.03.2011, 23:58
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

тогда я вас неправильно понял

я думал, это костыль для IE 6 (по-моему, это у него нет :hover )

ну да ладно. спокойной ночи!
Ответить с цитированием
  #5 (permalink)  
Старый 01.04.2011, 00:10
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

угу .. спасибо ...
Ответить с цитированием
  #6 (permalink)  
Старый 01.04.2011, 00:26
Аспирант
Отправить личное сообщение для BorodinKO Посмотреть профиль Найти все сообщения от BorodinKO
 
Регистрация: 31.03.2011
Сообщений: 47

А вот как тогда сделать чтобы сначала классы action убирались у тех элементов где они заданны (class="bm action"), а затем уже запускался остальной код.

[JS]<style>
div { border-left: 5px white solid;  }
.bm {
border-color: red;
}
.action {
border-color: yellow;
}
</style>

<div class="bm">Текст1</div>
<div class="bm action">Текст2</div>
<div class="bm">Текст3</div>

<script>
var arr = document.getElementsByTagName('div');
function a(){  this.className = ( this.className === "action" )? "bm" : "action";  }
for(var i = 0, b = arr.length ; i<b;i++){
 arr[i].onmouseover = a;

 arr[i].onmouseout = a;
}
</script>[/JS]


Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько созданных элементов располагаются в одной строке. Как этого избежать? Hold Events/DOM/Window 1 21.01.2011 23:52
Chart несколько значений в одну колонку mycoding ExtJS 1 13.12.2010 10:36
Несколько одинаковых таблиц. Обращение к отдельным элементам в них. zaytsewa Элементы интерфейса 7 11.11.2010 09:08
Помогите решить несколько мат. задач в javascript 4_omd Общие вопросы Javascript 5 02.05.2009 12:02