powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Номер, индекс дочернего узла
7 сообщений из 7, страница 1 из 1
Номер, индекс дочернего узла
    #39096112
Есть DIV, в котором находятся другие div. При щелчке мышью хочется узнать индекс (номер) дочернего div, по которому был клик. Для таблицы есть cellIndex , rowIndex . Может есть какое-нибудь хитрое свойство типа childIndex ?
Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<!DOCTYPE html>
<html>
<head>
<title>tmp</title>
<meta charset="utf-8">
<style>
#main {width:200px; margin:100px;}
#main div {border:1px solid #abcdef;}
</style>
</head>
<body>
<div id="main">
  <div>div 1</div>
  <div>div 2</div>
  <div>div 3</div>
  <div>div 4</div>
</div>
<script>
var main = document.getElementById('main');
main.onclick = function(e) {
  var idx = e.target.childIndex;
  console.log(idx);
}
</script>
</body>
</html>
...
Рейтинг: 0 / 0
Номер, индекс дочернего узла
    #39096144
Такого свойства наверное ещё нет, без перебора не обойтись.
Нашел решение через массив.indexOf , но это всё равно перебор элементов, только короткая запись. Работает и в IE10
Код: javascript
1.
2.
3.
4.
5.
var main = document.getElementById('main');
main.onclick = function(e) {
  var idx = [].indexOf.call(e.target.parentNode.children, e.target);
  console.log(idx);
}
...
Рейтинг: 0 / 0
Номер, индекс дочернего узла
    #39096192
Не пойду на Звездные войны 7,

Код: html
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
<!DOCTYPE html>
<html>
<head>
<title>tmp</title>
<meta charset="utf-8">
<style>
#main {width:200px; margin:100px;}
#main div {border:1px solid #abcdef;}
</style>
<script>
function myClick(obj)
{
var s=obj.id;
alert('Index='+s.substr(5,5));
}
</script>
</head>
<body>
<div id="main">
  <div id="myDiv1" onClick="myClick(this);" myIndex=1>div 1</div>
  <div id="myDiv2" onClick="myClick(this);" myIndex=2>div 2</div>
  <div id="myDiv3" onClick="myClick(this);" myIndex=3>div 3</div>
  <div id="myDiv4" onClick="myClick(this);" myIndex=4>div 4</div>
</div>
</body>
</html>
...
Рейтинг: 0 / 0
Номер, индекс дочернего узла
    #39096208
Ну и не ходи,

вариант с id я тоже рассматривал, даже решение находил (в конце темы) http://php.ru/forum/viewtopic.php?t=20106
А myIndex здесь зачем? Типа произвольного атрибута, который можно получить через getAttribute ? Кстати, неплохое решение.

З.Ы. а на фильм не пойду, поскольку считаю это коммерческим проектом, для которого привлекли изначальную троицу. Есть ещё мелкие причины...
...
Рейтинг: 0 / 0
Номер, индекс дочернего узла
    #39096294
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пойду на Звездные войны 7З.Ы. а на фильм не пойду, поскольку считаю это коммерческим проектом, для которого привлекли изначальную троицу.чуть менее чем всё голливудское кино является коммерческим.

твой кэп.
...
Рейтинг: 0 / 0
Номер, индекс дочернего узла
    #39096329
Antonariy,

я это знаю... Но я поклонник саги, и ожидал не то, что нам хотят преподнести. Часть фанатов тоже негодует, я с ними солидарен :)
...
Рейтинг: 0 / 0
Номер, индекс дочернего узла
    #39096461
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не пойду на Звездные войны 7А myIndex здесь зачем? Типа произвольного атрибута, который можно получить через getAttribute ? Кстати, неплохое решение.А главное свежее и оригинальное .
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Номер, индекс дочернего узла
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]