Javascript 为什么';选择器';返回值不同于';这';
在事件处理程序中,为什么$(this)返回的不是$('.selector') 例如:Javascript 为什么';选择器';返回值不同于';这';,javascript,jquery,console.log,Javascript,Jquery,Console.log,在事件处理程序中,为什么$(this)返回的不是$('.selector') 例如: $('.container').click(function () { console.log($(this)); console.log($('.container')); }); 当您在控制台中查看时,结果是不同的。此始终是事件发生的元素,换句话说,您准确单击的.container元素中的哪一个 e、 g: container1 集装箱2 正如Jonathan Lonowski所指出的
$('.container').click(function () {
console.log($(this));
console.log($('.container'));
});
当您在控制台中查看时,结果是不同的。
此
始终是事件发生的元素,换句话说,您准确单击的.container
元素中的哪一个
e、 g:
container1
集装箱2
正如Jonathan Lonowski所指出的,$(“.container”)
选择两个.container
元素,但是这个就是您单击的span
或div
另外,$(this)
只需将该元素包装到JQuery对象中,this
关键字本身就是本机javascript。在事件处理程序的内部,this
通常指捕获事件的单个容器
元素
而选择器将再次找到整个文档中的所有.container
。您是否在问为什么这两个console.log结果不相同?是的。这两个答案很有帮助!有趣的细节:您的问题是“$('.#Selector')”,但您的代码是“$('.Selector')”。在正常情况下,id选择器可能与$(this)
相同,因为id应该是唯一的,因此将选择单个元素。已编辑我的问题;)。记住这是件好事。
<div class="container">container1</div>
<span class="container">container2</span>