有没有办法在jQuery函数中使用$(this)
?
HTML
<ul>
<li class="delete"><a onclick="deletePerson(12);" href="">Delete</a></li>
</ul>
的jQuery
function deletePerson(id) {
$(this).parent().remove(); // doesn't work
// [...]
return false;
}
答案 0 :(得分:7)
将引用作为参数传递:
<ul>
<li class="delete"><a onclick="deletePerson(this, 12);" href="">Delete</a></li>
</ul>
function deletePerson(link, id) {
$(link).parent().remove();
// [...]
return false;
}
答案 1 :(得分:3)
您可以使用.call()
按照您的要求设置this
的值。
<a onclick="deletePerson.call( this, 12 );" href="">Delete</a>
现在在deletePerson
函数中,this
将成为元素。
function deletePerson(id) {
$(this).parent().remove(); // will work
// [...]
return false;
}
答案 2 :(得分:0)
由于您使用的是JS,因此您无需在链接上使用JS。
HTML
<ul>
<li class="delete"><a onclick="deletePerson(12);" href="">Delete</a></li>
</ul>
的jQuery
$('.delete').find('a').bind('click', function() {
$(this).parent().remove();
return false;
});