无法将文本值分配给事件处理程序中 JQuery 元素的变量
Can't assign text value to a variable from JQuery element in event handler
这是我 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);
});
有什么想法吗?感谢任何帮助。
因为你使用了箭头函数,箭头函数中的this
在浏览器中是window
。
$( "#list" ).on( "click", "a", function (event) {
event.preventDefault();
event.stopImmediatePropagation();
let text = $(this).parent().children().last().text();
debugger
console.log(text);
});
这是我 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);
});
有什么想法吗?感谢任何帮助。
因为你使用了箭头函数,箭头函数中的this
在浏览器中是window
。
$( "#list" ).on( "click", "a", function (event) {
event.preventDefault();
event.stopImmediatePropagation();
let text = $(this).parent().children().last().text();
debugger
console.log(text);
});