从dom中删除元素后,长度属性不会反映出来

时间:2016-07-29 12:51:56

标签: javascript jquery html

我使用javascript动态创建了这个html:

<div class="panel panel-default theaterPlayer">
<div class="panel-body  panelbody69875341">
<div class="paneltop paneltop69875341">
<span class="glyphicon glyphicon-remove close closePlayer"></span>
</div>
<iframe width="560px" height="340px" id="id69875341" 
        src="" style="margin- top: 50px;"></iframe>
</div>
</div>

然后当我点击Jquery中的closePlayer按钮时:

$('body').on('click', '.closePlayer', function(event) {
$(this).parent('div').parent('div').parent('.theaterPlayer').remove();
});

然后,当我想要使用类TheaterPlayer关闭元素的长度时,我知道这些元素存在多少:

$('.theaterPlayer').length;

显示删除的那些+ 1

如何从dom中移除并从其他接缝中删除接缝存在?

3 个答案:

答案 0 :(得分:0)

可能是运行时div更改的数量。尝试删除它:

    $('body').on('click', '.closePlayer', function(event) {
$(this).closest('.theaterPlayer').remove();
     }); 

答案 1 :(得分:0)

使用此

$(".closePlayer").closest('div').parent('div').remove();
console.log($('.theaterPlayer').length);

现在,您可以删除包含在div外部div的所有内部panel panel-default theaterPlayer。所以在这里我假设您在飞行中将html附加到包含类div的{​​{1}}: 因此,

theaterPlayer

或者如果你想在点击关闭按钮时删除所有$('.closePlayer').on('click',function() { $(this).closest('div').parent('div').remove(); // Here removes all inner Divs console.log($('.theaterPlayer').length); // Length will be 1, and Outer Div remains there. }); 包括外div,那么只需使用

div

希望这会对你有所帮助。

答案 2 :(得分:0)

我真的应该为自己感到羞耻!!!将它包含在.container中并不是一件好事,因为我忘记了我使用的另一个元素与同一个类是不可见的,所以我没有注意到它。我非常抱歉浪费你所有的时间!