javascript - Chrome 控制台处理 jQuery $(this) 错误?

标签 javascript jquery google-chrome console this

有点奇怪。

<table>
    <tr>
        <td>feng</td>
    </tr>
</table>

jQuery 代码:

$('table tr').click(function(e){
   console.log($(this)==null); //returns False
});

Chrome 控制台输出 False,这是预期的。 但是,当我在函数中切换断点并触发事件时,我发现,如果我在 Chrome console 中键入 $(this),它会返回

最佳答案

this“变量”并不是真正的变量。我不认为 Chrome 会为 this 建立一个值来匹配当前执行上下文中的值;坦率地说,这很难做到。

如果您希望能够调试这样的函数,只需确保将 this 值放入常规的旧局部变量中即可:

   var saveThis = this;

那么,$(saveThis) 应该适合您。

关于javascript - Chrome 控制台处理 jQuery $(this) 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6286473/

相关文章:

javascript - 如何在使用 select2 时完全删除 select DOM?

javascript - 从数据库填充下拉框而不重新加载页面

javascript - jQuery 检查所有复选框只工作一次

google-chrome - 使用 SVG 图像时,背景图像 block 之间有间隙。如何在 Chrome 中解决?

javascript - 怎么理解这个Promise执行顺序呢?

javascript - 页面刷新后 div 类处于事件状态

javascript - jQuery AJAX 莫名其妙的parseerror

php - 在 AJAX 中使用一次后重新绑定(bind)点击事件

javascript - Chrome 扩展选择的文本

windows - Chrome 窗口中未显示卢比图标