Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Передать в функцию указание на элемент, из которой она вызвана (https://javascript.ru/forum/events/6340-peredat-v-funkciyu-ukazanie-na-ehlement-iz-kotorojj-ona-vyzvana.html)

AndreyLL 25.11.2009 00:46

Передать в функцию указание на элемент, из которой она вызвана
 
С явой знаком весьма поверхностно, и глубоко копать времени нет - нужно решить одну задачу и заняться другими делами. Смысл приблизительно такой: из нескольких <DIV> нужно вызвать некоторую функцию, передав её ссылку на тот DIV, из которого функция была вызвана. Как-то так (в упрощённом виде, теги <SCRIPT></SCRIPT> убрал):
function myFunc(element, text) {
 element.innetHTML=text
}

<div>
    myFunc(this, 'Первый div')
</div>

<div>
    myFunc(this, 'Второй div')
</div>

Но в таком виде this ничего не передаёт.

Задача почти решается в таком виде:
<div onclick="myFunc(this, 'Первый div')">
</div>

Но функция, естественно, срабатывает только по клику мышью. А мне нужно - по загрузке страницы
Сразу скажу, что способов вывести текст внутрь <DIV></DIV> мне не нужно. Смысл функции myFunc() в другом. Ей нужна именно ссылка на элемент, из которого (или рядом с которым) находится её вызов. DIV на странице может быть несколько. Каких либо уникальных признаков (типа ID) у них быть не может.

Какие варианты есть? Можно без подробностей - нужна идея.

Octane 25.11.2009 02:00

Цитата:

Сообщение от AndreyLL
Какие варианты есть?

У DIV нет никаких событий связанных с его загрузкой, соответственно и вызвать он ничего не сможет. Добавляйте CSS-класс (их можно указывать сколько угодно, разделяя пробелами) элементам и ищите их по этому признаку после загрузки документа.

Octane 25.11.2009 04:55

Цитата:

Сообщение от мертвыеживотные
если каждый из этих скриптов

там один <script>, в котором создается функция, в div'ах она только вызывается.

AndreyLL 30.11.2009 09:55

Цитата:

Сообщение от мертвыеживотные (Сообщение 36243)
если так, то моя мысль все еще верна)

Она всемогуща, потому что верна - yes! работает.
Спасибо за совет!


Часовой пояс GMT +3, время: 04:19.