我如何在其中删除元素

时间:2019-03-05 08:00:29

标签: javascript jquery object

我要删除“ this”内部的元素

此=带有div的对象,该对象具有不同的内容,并且内部具有一个带有“ this_should_removed”类的元素。

我试图以此方式进行操作,但失败了。

$($(this)).find('.this_should_removed').remove();

正确的方法是什么?

非常感谢!

3 个答案:

答案 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();