【问题标题】:jQuery Remove/ClonejQuery 删除/克隆
【发布时间】:2012-08-25 08:47:23
【问题描述】:
test 123<br>
    test <span class="underline" id="1" onclick="test1(this);">hez
    <ul class="spellCheck_suggest">
        <li data-wordid="1" onclick="test(this);">heyerdahl</li>
        <li data-wordid="1" onclick="test(this);">heywood</li>
        <li data-wordid="1" onclick="test(this);">hezekiah</li>
        <li data-wordid="1" onclick="test(this);">hf</li>
        <li data-wordid="1" onclick="test(this);">hg</li>
        <li data-wordid="1" onclick="test(this);"><font color="red">hez</font></li>
    </ul>
    </span>

上面是我的一个 DIV 标记中的 HTML。

目前我执行以下代码,效果很好......

$(".spellCheck_suggest").remove();
 var mainContentHTML = $("#" + mainContent).html();

从我的 dom 中删除所有 .spellCheck_suggest 类,然后给我上面 html 的 html 代码,它应该只是:

test 123<br>
test <span class="underline" id="1" onclick="test1(this);">hez</span>

但奇怪的问题是如果我尝试克隆

 var divclone= $("#divid").clone();

然后尝试做任何一个..

divclone.replaceWith(".spellCheck_suggest","");
divclone.remove(".spellCheck_suggest");

它不会删除它...我的计划是删除它然后将 .html() 返回给用户

我是用克隆还是删除错了?

【问题讨论】:

  • 究竟是什么不起作用。您是否希望在使用克隆时元素从 DOM 中消失?如果是这样,这是预期的行为,也是克隆元素的原因之一,以便在不更改 DOM 中的实际元素的情况下对其进行处理。
  • 你能创建一个jsfiddle 处理这个问题吗?很难看出那里有什么磨损。
  • 我不希望它只删除克隆的 dom,是的,现在会这样做

标签: javascript jquery html clone removeclass


【解决方案1】:

试试:

$(".spellCheck_suggest", divclone).remove();

【讨论】:

  • 我还认为将整个无序列表放在 span 标签内看起来很奇怪,但这是题外话。
  • 长篇大论它是一个自定义拼写检查器
【解决方案2】:

也许你克隆元素,然后使用它,而不是使用可见元素。

【讨论】:

    【解决方案3】:

    试试这个:

    divclone.find('.spellCheck_suggest').remove()
    

    【讨论】:

      猜你喜欢
      • 2012-12-02
      • 2012-05-07
      • 2015-12-31
      • 2018-03-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      相关资源
      最近更新 更多