Красивее так:
<!DOCTYPE HTML>
<html>
<body>
<ul>
<li>select *</li>
<li>select *</li>
<li>select *</li>
<li>select *</li>
<li>select *</li>
</ul>
</body>
<script type="text/javascript">
(function(){
var ul=document.getElementsByTagName('ul')[0],
li=ul.getElementsByTagName('li');
ul.onclick=function(e) {
var t = e.target || event.srcElement,i=li.length;
while(i--&&li[i]!==t);
alert(i)
}
})()
</script>
</html>
...
functon(event){
var el = event.target || event.srcElement;
...
опасно так делать, опасно. |
Цитата:
|
Aetae, в IE8 не работает. Ругается на эту строчку
var t = e.target || event.srcElement; // 'target' - есть null или не является объектом Цитата:
ksa, да, они текстовые Еноты :D |
Вариант на jQuery ...
Узнать порядковый номер элемента |
Цитата:
(function(){
var ul=document.getElementsByTagName('ul')[0],
li=ul.getElementsByTagName('li');
ul.onclick=function(e) {
var t = *!*e.target*/!* || event.srcElement,i=li.length;
while(i--&&li[i]!==t);
alert(i)
}
})()
так тоже опасно. в ie e будет undefined и обращение к target вызовет ошибку. |
Самдурак, вас поругал, а сам скопипэйстил.))
На самом деле там должно быть: var t = e?e.target:window.event.srcElementВсю жисть так делал а тут прошляпил. Наглядный пример вреда копипэйста.) |
| Часовой пояс GMT +3, время: 02:11. |