jQuery .length返回0

时间:2018-10-17 22:18:44

标签: javascript jquery html css

我只想在“父”类的另一个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 ...

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

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