【问题标题】:Can't assign text value to a variable from JQuery element in event handler无法从事件处理程序中的 JQuery 元素将文本值分配给变量
【发布时间】:2020-03-11 15:19:01
【问题描述】:

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

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

有什么想法吗?任何帮助表示赞赏。

【问题讨论】:

  • 可以添加html dom吗?
  • html 是在运行时动态生成的。我看到的$(this)..... 的值是正确的。我只是在'text'变量中没有看到它...

标签: javascript jquery dom onclick jquery-events


【解决方案1】:

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

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

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

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

    debugger
    console.log(text);   
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多