我试图删除<a>
的父项,这是html:
<div>123321<a class="del" rel="32" href="#">X</a></div>
这是代码:
$(function()
{
$('.del').click(function(e)
{
$(e).parent().remove();
});
});
但没有任何事情发生,为什么? JSFIDDLE.
答案 0 :(得分:2)
您将event
对象传递给jQuery,而不是当前元素。使用this
代替处理程序中的e
:
$(function() {
$('.del').on('click', function(e) {
e.preventDefault();
$(this).parent().remove();
});
});
在上面的示例中,请注意e
如何用于表示发生的事件,而this
用于表示事件的目标元素。
$(function() {
$('.del').on('click', function(e) {
e.preventDefault();
$(this).parent().remove();
});
});
&#13;
<script src="https://code.jquery.com/jquery-1.12.4.min.js"></script>
<div>123321<a class="del" rel="32" href="#">X</a></div>
&#13;
答案 1 :(得分:0)
(您可以使用其他答案中提到的<!DOCTYPE HTML>
<html>
<body>
<div>
<label id="dynamicLbl_pathcontents">path contents:</label>
<span id="PathContents">
<ul>
<li>backups</li>
<li>FilesAndFolders.php</li>
</ul>
</span>
</div>
</body>
</html>
,但您也可以使用引用当前对象的this
。因此,您可以使用e.target
传递当前点击元素的对象,而不是传递事件e
,请查看以下示例。
e.target
&#13;
$(function() {
$('.del').on('click', function(e) {
$(e.target).parent().remove();
});
});
&#13;