jQuery - 删除了DOM元素,但子元素数仍然相同

时间:2017-01-03 03:33:04

标签: jquery

我有一个基本的jquery脚本,可以检测元素删除并计算其子元素。但是,虽然元素被删除,但子元素计数不会更改。

这是我的HTML脚本

<div>
  <p>Test 1</p>
  <p>Test 2</p>
  <p id="p3">Test 3</p>
</div>
<input type=submit value='Remove Test 3' id=submit-btn />

我的jQuery脚本

   $('#submit-btn').click(function()
   {
        $('#p3').remove();
   });

   $("div").on('DOMNodeRemoved', function () {
        //confirm the element removal
        console.log("removed");

        //get child element count
        console.log(this.childElementCount);
    });

请参阅:https://jsfiddle.net/luan123z/zjaxgvad/4/

1 个答案:

答案 0 :(得分:1)

我会倾听DOMSubtreeModified事件。使用DOMNodeRemoved,您似乎需要有某种类型的延迟才能报告正确的计数。这是一个更新的小提琴:https://jsfiddle.net/zjaxgvad/5/