【问题标题】:unable to remove a dynamically created Div无法删除动态创建的 Div
【发布时间】:2014-04-17 17:32:51
【问题描述】:

我正在使用名为“sampageswrapper”的 jquery 动态创建一个 div,问题是我想检查 div 名称 sampageswrapper 是否已经创建然后删除它。

<div id="container2" class="container" style="width:600px; height: 700px" name="container2">
Enter Color Name and use + to add more colors:
<input id="byname" type="text" name="byname">
<br>
<br>
<div class="sampageswrapper">
<div class="pagenumbering" align="center" style="clear: both; margin-top:12px; color:#FFF">
<div class="buttons">
</div>
<div class="pagecount" align="center">
</div>
<div class="sampageswrapper">
</div>

以下是我的 JS/Jquery 代码

    if ($("#sampageswrapper").length > 0) {
                jQuery('#container2').find('#sampageswrapper').remove();
//i also tried jQuery('#sampageswrapper').remove();
            }

但我无法删除 div 请指导我。

【问题讨论】:

  • 您正在使用 id 选择器,但您似乎正在创建 div 作为类?
  • 还要确保您的 HTML 标记正确,然后再开始使用 Javascript。
  • 对不起,我还在学习

标签: javascript jquery html


【解决方案1】:

您正在根据 ID 选择 sampageswrapper,但您应该在类上进行测试。

jQuery('#container2').find('.sampageswrapper').remove(); 
jQuery('#container2 .sampageswrapper').remove(); // works too

【讨论】:

    【解决方案2】:

    好像您复制了id,因为id 必须是唯一的,您可以使用类代替动态添加的元素,然后您可以这样做:

    if ($("#container2 .sampageswrapper").length > 0) {
        jQuery('#container2').find('.sampageswrapper').remove();
    }
    

    【讨论】:

      【解决方案3】:

      您尝试使用id sampageswrapper 删除对象,但在类名的html 中。在您的删除语句中使用.sampageswrapper

      【讨论】:

        【解决方案4】:

        添加断点:

        if ($("#sampageswrapper").length > 0) {
           debugger;
           jQuery('#container2').find('#sampageswrapper').remove();
        }
        

        打开控制台并刷新页面,一旦它在断点处停止,在控制台中运行:

        jQuery('#container2')
        

        确保它返回您期望的对象。然后在控制台中运行:

        jQuery('#container2').find('#sampageswrapper')
        

        在这里你会看到它什么也不返回。这是因为'#sampageswrapper' 选择器是错误的,应该是一个类选择器:

        jQuery('#container2').find('.sampageswrapper')
        

        当您遇到涉及 jquery 选择器的代码问题时,您应该经历这个过程,以便您可以专注于导致问题的特定选择器。

        【讨论】:

          【解决方案5】:
          if ($(".sampageswrapper").length > 0) {
             jQuery('#container2').find('.sampageswrapper').remove();
          }
          

          使用类选择器而不是 id 选择器

          【讨论】:

            猜你喜欢
            • 2021-10-21
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-07-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多