Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Элементы документа
Форум программистов > Интернет и сети > Web-программирование > HTML, CSS, XML, JavaScript
Rjkz
Здраствуйте! в основном штмл документе определяю событие OnClick для всего тела документа делаю это так
<body OnClick=OnBodyClick(event)>

Затем в функции function OnBodyClick(e) у меня есть такая строчка

document.activeElement.style.backgroundColor="Lime"; ---это работает!
и вот эта строчка
document.Form1.Text1.value=document.activeElement.tagName; ---тоже работает!

мне нужно узновать индекс элемента (tagName) в документе или в теле документа как это можно зделать ?

document.Form1.Text1.value=document.activeElement.index ---возрощает (undefined)
,а строка
document.Form1.Text1.value=document.activeElement.tabIndex --- возрощает всегда ноль!

напишите пожайлуста строчку

document.Form1.Text1.value=document.activeElement......... чтоб вернулся индекс элемента !
sax_ol
Цитата(Rjkz @ 10:02:2008, 11:13 )
как это можно зделать ?

никак
Rjkz
А всё таки? rolleyes.gif я со стула упаду если после написание "извращённого" кода окажеться что всё делаеться просто и одной функцией!
sax_ol
Для: Rjkz
никак, а зачем вам это?
Rjkz
Нужно для того чтобы определить кукую именно ячейку в таблице кликнули
sax_ol
Цитата(Rjkz @ 11:02:2008, 12:51 )
кукую именно ячейку в таблице кликнули

что значит какую именно, какую кликнули она и есть, обрисуйте проблему
Rjkz
У меня есть таблица в документе и в зависимости от того по какой ячейке был клик выполняються разные действия поэтому мне нужно узновать индекс элемента на странице blink.gif
sax_ol
<script>
   function tdclick(o)
  {
      alert(o.cellIndex);
  }
</script>
<td onclick="java script:tdclick(this);">
    blablabla
</td>

писал тут, могут быть опечатки ...

Цитата
мне нужно узновать индекс элемента на странице

вы мне поясните, зачем вам на странице?
Rjkz
с этим понятно только есть много но,, во первых в одной функции не удаёться узнать и cellIndex и rowIndex а ещё заморочка в том что если в ячеку вставлена картинка, то клик идёт не по ячейке а по картинке, и обработчик не вызываеться , а почему нельзя просто индекс получить элемента в теле документа по которому кликнули? huh.gif
sax_ol
Цитата(Rjkz @ 11:02:2008, 18:19 )
в одной функции не удаёться узнать и cellIndex и rowIndex

Почему?
Цитата(Rjkz @ 11:02:2008, 18:19 )
заморочка в том что если в ячеку вставлена картинка, то клик идёт не по ячейке а по картинке, и обработчик не вызываеться

а у меня вызывается
Цитата(Rjkz @ 11:02:2008, 18:19 )
почему нельзя просто индекс получить элемента в теле документа по которому кликнули?

нет потому что его smile.gif
Rjkz
Цитата
Почему?



потомучто не получаеться,,может я чо не так пишу ,,делаю следующие

<Td onClick="java script: TDClick(this)">

а в функции

document.Form1.Text1.value=e.rowIndex+','+e.cellIndex; получаю только cellIndex

добовляю
<Tr onClick="java script: TDClick(this)"> получаю только rowIndex

вместе не как

а если

<body onClick="java script: TDClick(this)">

то вообще не чего не получаю,,чтож делать дельное бы подсказали чо нить
sax_ol
ох ....
<script>
   function tdclick(o)
  {
      alert(o.cellIndex);
      alert(o.parentNode.rowIndex);
  }
</script>
<Td onClick="java script: tdclick(this)">
Rjkz
Цитата
нет потому что его smile.gif


нормально главное по индексу можно к элементу обратиться , а чтоб индекс узнать так сразу нет такого

не понятки какие то wink.gif
sax_ol
PS: скажите а зачем вы по 2 запятые ставите?

Цитата(Rjkz @ 11:02:2008, 19:05 )
нормально главное по индексу можно к элементу обратиться

это где это можно?
Rjkz
по две запитые просто привычка такая,, а вот можно в ИЕ

например так

var a=document.getElementsByTagName('DIV')[2]; blink.gif
sax_ol
Цитата(Rjkz @ 11:02:2008, 19:10 )
например так

Э ... это если не грубо говоря, совсем другая опера.
Тут вам возвращается список (массив/лист) елементов а 2 это индекс в именно этом списке и только!
тут читайте ]]>http://www.w3schools.com/dom/met_document_...tsbytagname.asp]]>
Rjkz
это не то что надо,,

пусть даже это масив/лист но обращаться можно wink.gif
sax_ol
Для: Rjkz
вы это, различаете белое и пушистое? тут эти две разницы и присутствуют, одно локальная переменная а второе DOM документа ... даже на слух и то различия огромные ...

Цитата(Rjkz @ 11:02:2008, 19:30 )
это не то что надо

я вам не решение дал, а учебник с теорией
Rjkz
да мне это всё честно по борабану,,просто должен быть способ получить индекс ,,я уверен в этом на 90 % , получить вообще можно если переберать по порядку в цикле все , просто это долго , должно быть просто
Vovochka
Вот же танкист.
Тебе же уже ни раз сказали, такого решения, как ты хочешь, нету.
Тебе уже подсказали единственно верный способ.
<td onclick="tdclick(this, event)">

При этом тебе даже НЕ нужны индексы, ибо объект this - это и есть кликнутая ячейка.
Rjkz
Народ ну что же вы меня обманули ? С громким криком "не как" ! , а тогда может кто нибудь скажет мне вот эта строчка что покажет
document.activeElement.sourceIndex

именно вот про это я и спрашивал ,, в силу выше сказанно может кто подскажет тогда как можно узнать индекс не в целом документе, а например в div ???
sax_ol
"НЕ КАК"!!! так понятнее?
Rjkz
Цитата
"НЕ КАК"!!! так понятнее?


Как не как если я уже пишу что вот так
document.activeElement.sourceIndex
,а вы мне опять не как?

Объяснения в студию. Почему "Не КАК"!
sax_ol
Цитата(Rjkz @ 25:02:2008 - 15:25) *
Почему "Не КАК"!

Потому как нет такого - document.activeElement. Это все вымыслы, как тока их сделают тогда "как", а пока "не как".
Rjkz
Цитата
Потому как нет такого - document.activeElement. Это все вымыслы, как тока их сделают тогда "как", а пока "не как".


да как нету у меня есть и всё работает , а вы говорите нету, вот реально что я пишу
<body onClick=OnBodyClick(event)> ,а в обработчике OnClick

document.Form1.Text1.value=document.activeElement.sourceIndex;

в текстовом поле отображаеться индекс элемента по которуму был клик этот индекс относительно всего документа показывает , а мне просто надо индекс внутри Div например, я конечно могу сам отнять от общего чтоб узнать индекс внутри элемента ,но там как то можно писать точно прямо в функции типа getElementTagName("Div") или как то подругому. Вообщем надо ковыряться ,а я спрашиваю может кто то уже ковырялся и наковырял.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.