javascript - 无法将文本值分配给事件处理程序中 JQuery 元素的变量

标签 javascript jquery dom onclick jquery-events

这是我的 dom 中项目列表的一些事件处理。
使用事件委托(delegate),点击处理程序位于父容器上

$( "#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);   
        });

有什么想法吗?如有任何帮助,我们将不胜感激。

最佳答案

因为你使用了箭头函数,而箭头函数中的this就是浏览器中的window

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

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

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

    debugger
    console.log(text);   
});

关于javascript - 无法将文本值分配给事件处理程序中 JQuery 元素的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60639292/

相关文章:

javascript - 如何在 jQuery 中选择特定的类

jquery - CGridView - 为删除行按钮添加自定义功能

javascript - 进行同步 JavaScript 调用的技巧

javascript - 我可以使用 AngularJs 指令将样式应用于伪元素吗

php - 有没有办法通过Onclick功能从MOzilla强制打开一个新的浏览器窗口到IE?

Javascript:无限滚动后更新文档

jquery - 为什么在空 JQuery 对象上使用 .text()、.html() 和 .val() 时,JQuery 会给出不同的结果?

javascript - 如何找到最近的父组件?

javascript - 在 Ember.js 中创建分组选择

javascript - 将对象解构为函数参数深度扩展