Элементы документа

  • Автор темы Rjkz
  • Дата начала
R

Rjkz

Гость
#1
Здраствуйте! в основном штмл документе определяю событие 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......... чтоб вернулся индекс элемента !
 
R

Rjkz

Гость
#2
А всё таки? :( я со стула упаду если после написание "извращённого" кода окажеться что всё делаеться просто и одной функцией!
 
R

Rjkz

Гость
#3
Нужно для того чтобы определить кукую именно ячейку в таблице кликнули
 
R

Rjkz

Гость
#4
У меня есть таблица в документе и в зависимости от того по какой ячейке был клик выполняються разные действия поэтому мне нужно узновать индекс элемента на странице :)
 
R

Rjkz

Гость
#5
с этим понятно только есть много но,, во первых в одной функции не удаёться узнать и cellIndex и rowIndex а ещё заморочка в том что если в ячеку вставлена картинка, то клик идёт не по ячейке а по картинке, и обработчик не вызываеться , а почему нельзя просто индекс получить элемента в теле документа по которому кликнули? :(
 
R

Rjkz

Гость
#6

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

<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)">

то вообще не чего не получаю,,чтож делать дельное бы подсказали чо нить
 
R

Rjkz

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

не понятки какие то ;)
 
R

Rjkz

Гость
#8
по две запитые просто привычка такая,, а вот можно в ИЕ

например так

var a=document.getElementsByTagName('DIV')[2]; :(
 
R

Rjkz

Гость
#9
это не то что надо,,

пусть даже это масив/лист но обращаться можно :(
 
R

Rjkz

Гость
#10
да мне это всё честно по борабану,,просто должен быть способ получить индекс ,,я уверен в этом на 90 % , получить вообще можно если переберать по порядку в цикле все , просто это долго , должно быть просто
 
V

Vovochka

Гость
#11
Вот же танкист.
Тебе же уже ни раз сказали, такого решения, как ты хочешь, нету.
Тебе уже подсказали единственно верный способ.
Код:
<td onclick="tdclick(this, event)">
При этом тебе даже НЕ нужны индексы, ибо объект this - это и есть кликнутая ячейка.
 
R

Rjkz

Гость
#12
Народ ну что же вы меня обманули ? С громким криком "не как" ! , а тогда может кто нибудь скажет мне вот эта строчка что покажет
document.activeElement.sourceIndex

именно вот про это я и спрашивал ,, в силу выше сказанно может кто подскажет тогда как можно узнать индекс не в целом документе, а например в div ???
 
R

Rjkz

Гость
#14
Потому как нет такого - document.activeElement. Это все вымыслы, как тока их сделают тогда "как", а пока "не как".
да как нету у меня есть и всё работает , а вы говорите нету, вот реально что я пишу
<body onClick=OnBodyClick(event)> ,а в обработчике OnClick

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

в текстовом поле отображаеться индекс элемента по которуму был клик этот индекс относительно всего документа показывает , а мне просто надо индекс внутри Div например, я конечно могу сам отнять от общего чтоб узнать индекс внутри элемента ,но там как то можно писать точно прямо в функции типа getElementTagName("Div") или как то подругому. Вообщем надо ковыряться ,а я спрашиваю может кто то уже ковырялся и наковырял.