Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Получит id элемента из функции (https://javascript.ru/forum/events/65485-poluchit-id-ehlementa-iz-funkcii.html)

Partos 21.10.2016 17:10

Получит id элемента из функции
 
Ппрошу помощи не могу получить id элемента родителя и потомка:
function funk (p1,p2)
                      { 
                          var id_potomok = this.id; // пробовал так.
                           // или
                          var id_potomok =  $(this).getAttribute("id");       
                           var id_roditel =  $(this).parents("tr").attr('id');      
                             alert(id_potomok+' '+ id_roditel);          // пусто
                             alert(p1+' '+p2);     // выводит переменные
 }

<tr id='roditel'>
       <td id='potomok'  onclick="funk(p1,p2)"> ---</td>
</tr>

Извиняюсь если есть ошибки в синтаксисе, пишу с телефона

Aetae 21.10.2016 18:03

onclick="funk.call(this, p1, p2)"
В твоём случае this - window.

Dilettante_Pro 24.10.2016 10:31

Partos,
onclick="funk(p1,p2)"

В описании функции p1,p2 - внутренние параметры, а здесь что?

ksa 24.10.2016 10:43

Цитата:

Сообщение от Partos
е могу получить id элемента родителя и потомка

Как вариант...

<table>
	<tr id='roditel'>
	   <td id='potomok'  onclick="alert(this.id+'\n'+this.parentNode.id)">Click</td>
	</tr>
</table>

Partos 24.10.2016 12:50

Цитата:

Сообщение от Aetae (Сообщение 432525)
onclick="funk.call(this, p1, p2)"
В твоём случае this - window.

спасибо так и думаю сделать.

Partos 24.10.2016 12:53

Цитата:

Сообщение от Dilettante_Pro (Сообщение 432753)
Partos,
onclick="funk(p1,p2)"

В описании функции p1,p2 - внутренние параметры, а здесь что?

это всё внутренние параметры, просто не написал var

Partos 24.10.2016 12:54

Цитата:

Сообщение от ksa (Сообщение 432757)
Как вариант...

<table>
	<tr id='roditel'>
	   <td id='potomok'  onclick="alert(this.id+'\n'+this.parentNode.id)">Click</td>
	</tr>
</table>

а где функция "funk(p1,p2)" ??

ksa 24.10.2016 14:13

Цитата:

Сообщение от Partos
а где функция

Дописать эту функцию и передать ей, показанные мной, параметры, ты не умеешь? :(

Partos 24.10.2016 14:35

Цитата:

Сообщение от ksa (Сообщение 432806)
Дописать эту функцию и передать ей, показанные мной, параметры, ты не умеешь? :(

для примера и так сойдет :p

Dilettante_Pro 25.10.2016 15:11

Цитата:

Сообщение от Partos (Сообщение 432792)
это всё внутренние параметры, просто не написал var

При вызове функции это уже не внутренние параметры.....


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