我想要编辑以下代码:
$('.tab').click(function() {
$(this).addClass('active').siblings().removeClass('active');
});
我没有使用$(this)
,为什么我不能执行以下操作:
$('.tab').click(function() {
$('.tab').click(function().addClass('active').siblings().removeClass('active');
});
如果这种情况永远不会起作用,我怎样才能重新创建初始代码而不必使用$(this)
?
答案 0 :(得分:1)
不完全确定为什么要这样做,但这是一种避免使用“this”的方法。
$(".tab").click(function(ev){
$(ev.currentTarget).addClass('active').siblings().removeClass('active');
});
答案 1 :(得分:0)
$('.tab')
指的是所有元素,其中class =" tab",$(this)
指的是带有类的 one 元素="标签"刚刚点击过。
有关jQuery中this
的更多信息,请参阅jQuery: What's the difference between '$(this)' and 'this'?