我要删除“ this”内部的元素
此=带有div的对象,该对象具有不同的内容,并且内部具有一个带有“ this_should_removed”类的元素。
我试图以此方式进行操作,但失败了。
$($(this)).find('.this_should_removed').remove();
正确的方法是什么?
非常感谢!
答案 0 :(得分:3)
首先$($(this))
与$(this)
不同,因此您的代码无法正常工作,因为您在$($(this))
中使用了错误的对象,它应该是
$(this).find('.this_should_removed').remove()
但是,如果您检查 jQuery .remove()
docs ,您会发现可以将selector
传递给remove
方法:
.remove([选择器])
选择器
Type: String
选择器表达式,用于过滤要匹配的元素集 删除。
因此您的代码应该简单:
$(this).remove('.this_should_removed');
答案 1 :(得分:1)
我找不到您的代码无法正常工作的任何原因。尽管对jQuery的单一引用要好得多。
$(this).find('.this_should_removed').remove();
也许这个没有引用您认为的元素。
演示:
$('.parent').click(function(e){
$($(this)).find('.this_should_removed').remove();
});
$('.this_should_removed').click(function(e){
e.stopPropagation();
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="parent">
Some text
<div class="this_should_removed">
this_should_removed
</div>
</div>
答案 2 :(得分:0)
您的代码中的问题似乎出在额外的$
上。尝试删除多余的$
$(this).find('.this_should_removed').remove();