为什么会发生这种情况?当我直接引用该元素时,我会得到预期的结果。当我将元素分配给变量时,结果始终为1.
当我编写这样的代码时,结果总是1:
$dynamicNode = $(".dynamic");
$deleteNode = $(".trash");
$deleteNode.click(function(){
$count = $dynamicNode.length;
console.log($count);
});
当我编写这样的代码时,结果是具有类.dynamic的元素的实际数量。
$deleteNode = $(".trash");
$deleteNode.click(function(){
$count = $(".dynamic").length;
console.log($count);
});
答案 0 :(得分:8)
差异是由于定义变量的点。在第一个示例中,您可以在页面加载时获取元素,因此length
在以后的点击事件中始终是相同的。
在第二个示例中,您在单击按钮时获得length
,因此它始终与DOM的状态保持同步。