HY, 我有一个简单的单页网站,由几个部分组成。当我在html文件中编写脚本时,它正确地给了我部分的数量。代码是这样的:
var number = $("#sections li").length
console.log(number);
但是当我从外部文件运行完全相同的代码时,它不起作用。
有什么想法吗?
答案 0 :(得分:2)
可能的原因:
<section>
个元素,它会告诉您<li>
下有多少<foo id="sections">
元素,这是故意的吗? / LI>
使用普通的“JavaScript:
”,您的代码将更具可移植性(并且速度更快)var count = document.getElementById("sections").getElementsByTagName("li").length;
或者(稍微不那么便携:需要现代浏览器):
var count = document.querySelectorAll("#sections li").length;
更具体地说:
window.addEventListener('DOMContentLoaded', function(e) {
var count = document.querySelectorAll("#sections li").length;
console.log( count );
} );
答案 1 :(得分:0)
假设包含了jQuery库,并且还包含了要在页面中运行的所有文件,那么没有理由不这样做。如果没有看到您的文件结构如何布局或者您的主JavaScript文件是否已编写,则很难具体说明失败的原因。它也有助于了解您正在接收的错误。
我最好的猜测是你在dom准备好之前执行代码,试试这个:
$(function() {
var number = $("#sections li").length
console.log(number);
});
其中$(function() { });
是$(document).ready(function() { });