Javascript如何更新计数?

Javascript如何更新计数?,javascript,Javascript,我现在只学了大约两周的javascript,我在书中做了一个例子,但我想把我学到的东西整合起来。不幸的是,我没有取得任何成功。我已经放弃了自己尝试,所以我来了。我需要帮助 我想在id=“计数器”上显示已添加项目和已删除项目的计数。当我删除项目时,我很难更新计数 HTML: 试试下面的代码。在进行计数之前,代码将稍微延迟执行“节点删除”以完成: function updateCount(){ setTimeout(function(){ listItems = elList

我现在只学了大约两周的javascript,我在书中做了一个例子,但我想把我学到的东西整合起来。不幸的是,我没有取得任何成功。我已经放弃了自己尝试,所以我来了。我需要帮助

我想在id=“计数器”上显示已添加项目和已删除项目的计数。当我删除项目时,我很难更新计数

HTML:


试试下面的代码。在进行计数之前,代码将稍微延迟执行
“节点删除”
以完成:

function updateCount(){
    setTimeout(function(){
        listItems = elList.getElementsByTagName('li');
        counter.innerHTML = listItems.length;
    }, 100);
}
您可以将事件延迟设置为
1
,而不是
100
,它将正常工作

另一种选择是不注册
domandeinserted
ad
domanderemoved
侦听器,而是在
addItem()
deleteItem()
函数末尾添加
updateCount()
调用

编辑:

以下是两种解决方案的工作JSFIDLE示例:


尝试下面的代码。在进行计数之前,代码将稍微延迟执行
“节点删除”
以完成:

function updateCount(){
    setTimeout(function(){
        listItems = elList.getElementsByTagName('li');
        counter.innerHTML = listItems.length;
    }, 100);
}
您可以将事件延迟设置为
1
,而不是
100
,它将正常工作

另一种选择是不注册
domandeinserted
ad
domanderemoved
侦听器,而是在
addItem()
deleteItem()
函数末尾添加
updateCount()
调用

编辑:

以下是两种解决方案的工作JSFIDLE示例:

试试这个

//elList.addEventListener('DOMNodeInserted', updateCount, false);
//elList.addEventListener('DOMNodeRemoved', updateCount, false);
elList.addEventListener('DOMSubtreeModified', updateCount, false);
只需注册domsubtreemedited

试试这个

//elList.addEventListener('DOMNodeInserted', updateCount, false);
//elList.addEventListener('DOMNodeRemoved', updateCount, false);
elList.addEventListener('DOMSubtreeModified', updateCount, false);

只需注册DomSubtredeModified

它对我有效。看见你有什么问题?你的浏览器控制台有任何错误吗?这对我有用。看见您有什么问题?浏览器控制台中的任何错误都可以解决问题!尽管如此,我还没有读到关于延迟的报道。这是非常有益的。非常感谢。很高兴知道。。。如果这有帮助,请投票:)解决了问题!尽管如此,我还没有读到关于延迟的报道。这是非常有益的。非常感谢。很高兴知道。。。如果这有帮助,请投票:)这也解决了问题!非常感谢。这些代码肯定会进入我的笔记!这也解决了问题!非常感谢。这些代码肯定会进入我的笔记!