javascript - 当元素分配给变量时,jQuery 长度返回 1

标签 javascript jquery

为什么会这样? 当我直接引用该元素时,我得到了预期的结果。当我将元素分配给变量时,结果始终为 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);
});

最佳答案

不同之处在于定义变量的位置。在第一个示例中,您在页面加载时获取元素,因此 length 在以后的点击事件中将始终相同。

在第二个示例中,您在单击按钮时获得了 length,因此它始终与 DOM 的状态保持同步。

关于javascript - 当元素分配给变量时,jQuery 长度返回 1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43635617/

相关文章:

javascript - 使用 Flow 类型系统强制执行运行时检查?

javascript - 在移动断点处用省略号或下拉菜单替换最左边的面包屑

javascript - jQuery:使用 .load() 加载 php 文件时,导致 XHR 完成加载随着每次加载呈指数增长

javascript - 如何防止浏览器在提交表单时重定向到新页面?

javascript - Bootstrap 模态显示但没有文本可见

javascript - 使用 jquery 将外部 css 样式表应用于动态添加的 html 内容

javascript - 如何解释正则表达式中特殊字符的不同处理方式?

jquery - 动态更改 Jquery UI 可排序助手?

javascript - 使用 mousemove 事件转换 jQuery 眼睛瞳孔跟踪器

javascript - Angular 动画