在 jQuery 中使用 href=“javascript:...” 访问 $(this)
-
09-06-2019 - |
题
我正在使用 jQuery。我用下一个 html 调用 JavaScript 函数:
<li><span><a href="javascript:uncheckEl('tagVO-$id')">$tagname</a></span></li>
我想删除 li
元素,我认为这会很容易 $(this)
目的。这是我的 JavaScript 函数:
function uncheckEl(id) {
$("#"+id+"").attr("checked","");
$("#"+id+"").parent("li").css("color","black");
$(this).parent("li").remove(); // This is not working
retrieveItems();
}
但 $(this)
未定义。有任何想法吗?
解决方案
尝试这样的事情(例如隐藏 <li>
):
function unCheckEl(id, ref) {
(...)
$(ref).parent().parent().hide(); // this should be your <li>
}
还有你的链接:
<a href="javascript:uncheckEl('tagVO-$id', \$(this))">
$(this)
不存在于您的函数内部,因为它应该如何知道从哪里调用该操作?你没有在其中传递任何引用,所以 $(this)
可以指除 <a>
.
其他提示
为什么不类似:
<li id="uncheck_tagVO-$id">$tagname</li>
和
$('li').click( function() {
var id = this.id.split("_")[1];
$('#'+id).attr("checked","").parent("li").css("color","black");
$(this).remove();
retrieveItems();
});
不隶属于 StackOverflow