Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как через оператор this определить текущий елемент для которого выполняется функция? (https://javascript.ru/forum/dom-window/60209-kak-cherez-operator-opredelit-tekushhijj-element-dlya-kotorogo-vypolnyaetsya-funkciya.html)

shurik_shink 17.12.2015 10:56

Как через оператор this определить текущий елемент для которого выполняется функция?
 
Подскажите кто знает - как через оператор this определить текущий элемент для которого выполняется функция.

Пример использования может быть такой
<script>
document.getElementById("ENAME").addEventListener("event_name","func_name");

function func_name(event){
....
....
}
</script>


Как используя оператор this в функции func_name получить ссылку на сам элемент аналогично оператору - var e = document.getElementById("ENAME");
Возможно ли это?

Мне это нужно что бы можно было обратиться к дочерним элементам.

рони 17.12.2015 11:26

shurik_shink,
this и будет сам элемент, а this.children коллекция дочерних элементов

Vlasenko Fedor 17.12.2015 12:52

"func_name" без кавычек нужно писать
addEventListener("event_name", func_name);

shurik_shink 17.12.2015 15:29

Цитата:

Сообщение от рони (Сообщение 400262)
shurik_shink,
this и будет сам элемент, а this.children коллекция дочерних элементов

Да, с использованием библиотеки jquery.
Например
var $child = $(this).children(".class1");


А можно ли как-то обойтись без библиотеки jquery?

рони 17.12.2015 15:50

shurik_shink,
var $child = [].filter.call(this.children, function(child) {
  return child.classList.contains('class1');
});

рони 17.12.2015 16:15

shurik_shink,
если данный класс имеют только дочерние элементы можно так
var $child = this.querySelectorAll('.class1');


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