无法删除动态创建的Div

时间:2014-04-17 17:32:51

标签: javascript jquery html

我使用名为" 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请指导我。

5 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:2)

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

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

答案 2 :(得分:1)

您尝试使用id sampageswrapper删除对象,但是在html中是类名。请在删除声明中使用.sampageswrapper

答案 3 :(得分:1)

添加断点:

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

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

jQuery('#container2')

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

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

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

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

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

答案 4 :(得分:1)

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

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

相关问题