javascript - 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 ......
我究竟做错了什么?
解决方案
我相信您正试图在通过 Jquery 获得元素的属性之前访问它的属性。@osama 在评论中提到了这一点。您可以将脚本标签放在 Document 的底部或内部$(document).ready(function(){})
。此函数将让文档对象模型在执行脚本之前呈现。
推荐阅读
- c# - Xamarin 项目 App.Config 抛出异常 System.Configuration.ConfigurationErrorsException:配置系统初始化失败
- reactjs - 我启用了 CORS,但仍然受到限制
- java - 调试 Java SSL 连接 (OpenJDK-11 / FreeBSD-12.1)
- javascript - 在Javascript中传递参数的停止函数
- mocking - 使用模拟对象的默认参数
- reactjs - React Admin - 无法以编程方式关注 AutocompleteInput
- python - 素数函数在合数中不起作用 (4)
- c# - 为什么我的初始条件没有添加到数组中
- ibm-cloud - KEY 在 IBM Cloud cli 的云对象存储插件中是什么意思?
- c++ - 如何用一个 (C++) 替换多个字符?