【问题标题】:remove a class element移除一个类元素
【发布时间】:2009-06-23 10:47:31
【问题描述】:

如何删除已附加到 div id 的类?之前,当单击复选框时,我在标签上附加了一个星号。

 $("<span class='req'><em> * </em></span>").appendTo("#displayPanel #labelstr"+div_id);

现在,如果再次单击相同的复选框,我想删除该星。 我知道有一个 remove() 选项,但它的正确代码是什么? 请指导我。

【问题讨论】:

  • 在我看来像 jQuery。标记?

标签: jquery html css


【解决方案1】:

从外观上看,您并没有尝试删除将是 removeClass() 命令的类,而是需要从 &lt;div&gt; 中删除子元素

你可以的

$("#displayPanel #labelstr" + div_id + " span.req").remove(); 

&lt;div&gt; 中删除类为“req”的子跨度元素。

【讨论】:

  • 为什么投反对票?这正是我所说的,因为 OP 似乎错误地表达了他的问题。
  • 你是对的。我做错了。而是使用 $("#labelstr" + div_id + " span.req").remove();按照你和其他人的建议。谢谢。只有一个 id 就足够了,所以我省略了#labelstr。
【解决方案2】:

不需要使用 2 个 id 选择器,因为它们“应该”是唯一的,所以就这样做

$("#labelstr" + div_id + " span.req").remove();

【讨论】:

    【解决方案3】:

    我的猜测:

    $('#displayPanel #labelstr'+div_id+' .req').remove();
    

    如果你想删除 .req 并且每个元素只有一个。

    【讨论】:

    • 你是对的。我做错了。而是使用 $("#labelstr" + div_id + " span.req").remove();按照你和其他人的建议。谢谢。只有一个 id 就足够了,所以我省略了#labelstr。
    【解决方案4】:

    我找到了答案。这是

       $('.req').remove();
    

    之前我尝试了同样的方法,没有引号,这就是为什么我没有得到所需的结果。

    @machine:是的,它是 jQuery。谢谢。

    【讨论】:

    • 但这将删除所有具有类或请求的元素。你确定要这个吗?同样在选择器中使用一个类也很慢。最好使用 nodeName.class 来提高性能,尤其是在大型 dom 上
    • 是的,我错了。它删除了所有具有该类的元素。而是使用 $("#labelstr" + div_id + " span.req").remove();根据您和其他所有人的建议。谢谢。
    猜你喜欢
    • 1970-01-01
    • 2018-03-19
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 2018-08-30
    • 2011-06-11
    • 2012-05-09
    相关资源
    最近更新 更多