首页 > 解决方案 > jQuery .length 返回 0

问题描述

我只想在另一个具有“父”类的 div 中计算一个具有“元素”类的 div。这是 HTML 结构:

<div class="parent">
  <div class="element">Element 1</div>
  <div class="element">Element 2</div>
</div>

.length 数组/属性在 jQuery 中可以正常工作:

$("div.parent > div.element").length;

如果我将上面的代码复制并粘贴到 Chrome 控制台中,我会得到 2,这是正确的。但是,如果我尝试将其设为变量:

var $numEx = $("div.parent > div.element").length;

它不能正常工作。例如,如果我将 numEx(或 $numEx)放在控制台中,结果我得到 0...

这是整个代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<script type="text/javascript">
  var $numEx = $("div.examens > div.element").length;
</script>

<div class="parent">
    <div class="element">Element 1</div>
    <div class="element">Element 2</div>
 </div>

在 jQuery 之前,我实际上有一些普通的 javascript ......

我究竟做错了什么?

标签: javascriptjqueryhtmlcss

解决方案


我相信您正试图在通过 Jquery 获得元素的属性之前访问它的属性。@osama 在评论中提到了这一点。您可以将脚本标签放在 Document 的底部或内部$(document).ready(function(){})。此函数将让文档对象模型在执行脚本之前呈现。


推荐阅读