Javascript 当元素分配给变量时,jQuery length返回1

Javascript 当元素分配给变量时,jQuery length返回1,javascript,jquery,Javascript,Jquery,为什么会发生这种情况?当我直接引用元素时,我得到了预期的结果。当我将元素赋给变量时,结果总是1 当我这样编写代码时,结果总是1: $dynamicNode = $(".dynamic"); $deleteNode = $(".trash"); $deleteNode.click(function(){ $count = $dynamicNode.length; console.log($count); }); 当我这样编写代码时,结果是class.dynamic的实际元素数

为什么会发生这种情况?当我直接引用元素时,我得到了预期的结果。当我将元素赋给变量时,结果总是1

当我这样编写代码时,结果总是1:

$dynamicNode = $(".dynamic");
$deleteNode  = $(".trash");

$deleteNode.click(function(){
    $count = $dynamicNode.length;
    console.log($count);
});
当我这样编写代码时,结果是class.dynamic的实际元素数

$deleteNode  = $(".trash");

$deleteNode.click(function(){
    $count = $(".dynamic").length;
    console.log($count);
});

差异是由于定义变量的点造成的。在第一个示例中,您在页面加载时获得元素,因此在以后的单击事件中,
长度将始终相同


在第二个示例中,您在单击按钮的位置获得
长度,因此它始终与DOM的状态保持最新。

差异是由于定义变量的位置不同。在第一个示例中,您在页面加载时获得元素,因此在以后的单击事件中,
长度将始终相同


在第二个示例中,您在单击按钮时获得
长度
,因此它始终与DOM的状态保持最新。

哦,上帝,这是一个明显的错误,,,谢谢。。我现在在这里嘲笑我自己。试着把一切都放在$(document).ready(function(){如果不是的话already@GRowing没问题,很高兴能帮上忙哦,上帝,这是一个明显的错误,,,谢谢..我现在在这里嘲笑我自己。试着把所有的东西都放在$(文档)中。准备好(函数(){如果不是的话already@GRowing没问题,很乐意帮忙