【问题标题】:How to remove one class element at a time?如何一次删除一个类元素?
【发布时间】:2012-05-09 21:36:29
【问题描述】:

如果我有一系列带有 class="filler" 的元素,我怎样才能一次删除一个而不删除所有元素?这是没有给他们所有的ID;有很多。

例如,假设我有这个:

<br class="filler"/>
<hr class="filler"/>
<br class="filler"/>
<hr class="filler"/>
<br class="filler"/>
<hr class="filler"/>
<br class="filler"/>
<hr class="filler"/>

这会重复很多次。每次调用函数时,我想删除一个 br 和一个 hr。我该怎么做?

【问题讨论】:

  • “一次一个”是什么意思,您的标记是什么样的?
  • document.getElementsByClassName('filler') 将为您提供具有指定类的所有元素的数组。您可以使用其索引访问每个。不确定它是否适用于 IE。
  • 请提供代码;一次一个,例如第一个或最后一个,等等?
  • 看,函数调用的时候要去掉哪一个?

标签: javascript jquery html mobile-application


【解决方案1】:

使用 jquery 删除第一个 brhr

$("br.filler").first().remove();
$("hr.filler").first().remove();

【讨论】:

  • 或者,$("element:first").remove();$("element").eq(0).remove();,可能还有很多其他...
  • 有一个.first()?为什么 jQuery 如此出色?
  • @Madmartigan:使用:first 是一个更好的选择器,但是我在IE8 和IE7 中遇到了:first 的问题,所以我认为first() 更安全。
  • @AndersAbel:如果你说的是真的,请确保提交bug report 以便修复。
  • @Madmartigan:我首先必须确保问题不在键盘背后(即:我在做一些愚蠢的事情),但是一旦验证提交错误是一个好主意。
【解决方案2】:

使用这个:

$("br.filler").first().remove();
$("hr.filler").first().remove();

参考:http://api.jquery.com/first/

【讨论】:

    【解决方案3】:

    http://jsfiddle.net/Bongs/bnmzr/

    HTML

    Click on div to remove
    <div class="filler"></div>
    <div class="filler"></div>
    <div class="filler"></div>
    <div class="filler"></div>
    <div class="filler"></div>
    

    JS

    //add the event on which you want to remove the div...
    $(".filler").live("click", function(){
        $(this).remove();     //the div on which you click will be removed from DOM
    })​
    

    CSS

    .filler
    {
        border: 1px solid #000;
        height: 10px;
        width: 50px;
    }​
    

    你可以玩代码... :)

    【讨论】:

      猜你喜欢
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 2018-08-30
      • 1970-01-01
      • 2018-05-13
      • 2018-10-05
      • 1970-01-01
      相关资源
      最近更新 更多