Показать сообщение отдельно
  #3 (permalink)  
Старый 06.09.2010, 19:38
Интересующийся
Отправить личное сообщение для KBEPT Посмотреть профиль Найти все сообщения от KBEPT
 
Регистрация: 06.09.2010
Сообщений: 23

Сообщение от Riim Посмотреть сообщение
var elem = e.target || e.srcElement;
while (elem.nodeName.toLowerCase() != 'li' && (elem = elem.parentNode));
if (elem.id) {/*.....*/}
---- ---- ---- ----

Спасибо большое.
Вот что мне нужно было: nodeName и parentNode.

Я с Вашего позволения для себя откорректировал предложенный Вами код.
Ваш код отлично работает и выполняет то что нужно.
Просто если есть возможность хоть немного разгрузить скрипт, я всегда стараюсь это делать Извиняюсь
В моем случае родителем тега <a> всегда будет тег <li>, это если брать именно эту связку.
Таким оборазом получается, что всегда будет:
...
<li> <a> ... </a> </li>
...


Выходит для моего случая немного проще (избавился от цикла):
...
<script language='javascript'> 
  var my_global_hook = function(e)  
  {  
    if ( (e.srcElement.nodeName.toLowerCase() == 'a') && (e.srcElement.parentNode.nodeName.toLowerCase() == 'li') ) 
	  { var object_id = e.srcElement.parentNode.id; }
    alert(object_id); 
  } 
  document.addEventListener('mouseover', my_global_hook, false); 
</script>
...


---- ---- ---- ----
Поставил плюсик Вам
Ответить с цитированием