Не удается присвоить текстовое значение переменной из элемента JQuery в обработчике событий - PullRequest
5 голосов
/ 11 марта 2020

Это некоторая обработка событий для списка элементов в моем домике.
Используя делегирование события, обработчик клика находится в родительском контейнере

$( "#list" ).on( "click", "a", (event) => {

            event.preventDefault();
            event.stopImmediatePropagation();

            let text = $(this).parent().children().last().text();

            // The following HAS content (seen in the dev tools debugger !!!!)
            // $(this).parent().children().last().text() 

            // But the text variable gets No content - WHY ?
            // "" is printed....
            console.log(text);   
        });

Есть идеи? Любая помощь приветствуется.

1 Ответ

2 голосов
/ 11 марта 2020

Поскольку вы используете функцию стрелки, а this в функции стрелки - window в браузере.

$( "#list" ).on( "click", "a", function (event)  {

    event.preventDefault();
    event.stopImmediatePropagation();

    let text = $(this).parent().children().last().text();

    debugger
    console.log(text);   
});
...