javascript - 无法从事件处理程序中的 JQuery 元素将文本值分配给变量
问题描述
这是我 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);
});
推荐阅读
- sql - 将 2018-04-10T04:00:00.000Z 字符串转换为 DateTime
- javascript - 防止页面在每次访问时下载文件
- r - 如何在 glmnet 函数(而不是 cv.glmnet)中并行化 alpha
- mysql - MySQL:存储过程查询条件运算符作为参数
- javascript - 开玩笑没有在 forEach 函数中执行测试用例
- mysql - MySQL 查询不返回当天的记录
- javascript - 未捕获的语法错误:意外的标记“&”
- python - 如何在不在 Flask 中定义新路由的情况下获取单选按钮值?
- postgresql - PostgreSQL:按时间戳连接两个表而不会重复出现
- qt - 仅当首先调用绑定方法时才会发出 QUdpSocket 上的 ReadyRead 信号