我有以下jQuery表达式,在函数内部我需要对被点击的对象的引用,有没有办法做到这一点?
$('#tagList li').click(function() {
/* contents */
});
Run Code Online (Sandbox Code Playgroud)
你可以使用返回值
$("#tagList li").bind("click", function(e) {
alert(e.currentTarget + ' was clicked!');
});
Run Code Online (Sandbox Code Playgroud)
或者如果你愿意,你可以简单地指向jQuery模式下的对象
$("#tagList li").bind("click", function(e) {
alert($(this) + ' was clicked!');
});
Run Code Online (Sandbox Code Playgroud)
如果您是jQuery的新手,我强烈建议您在jQuery for Designers中看一些来自Remy Sharp的截屏视频,他们很了解jQuery的工作方式,更好的是,如何使用console.log()为了看到你可以使用的对象!
是的,this关键字引用了单击的DOM元素.你可以像这样"包装"它:
$(this)
Run Code Online (Sandbox Code Playgroud)
这将允许您将其视为jQuery对象.
在这个关键字是你在找什么.通常你会想要将jQuery函数应用于此来完成你的工作.例:
$('#tagList li').click(function() {
$(this).css({ color: 'red' });
});
Run Code Online (Sandbox Code Playgroud)