计算HTML文件中的节数

时间:2016-11-23 18:47:51

标签: jquery html css

HY, 我有一个简单的单页网站,由几个部分组成。当我在html文件中编写脚本时,它正确地给了我部分的数量。代码是这样的:

var number = $("#sections li").length
console.log(number);

但是当我从外部文件运行完全相同的代码时,它不起作用。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

可能的原因:

  • 您的JavaScript可以在所有HTML完全加载之前执行
  • 您的CSS选择器和代码实际上并没有告诉您有多少<section>个元素,它会告诉您<li>下有多少<foo id="sections">元素,这是故意的吗? / LI>
  • 你的代码是在jQuery不可用的环境中执行的 - 我还注意到,你没有在jQuery中使用任何值得的东西。

使用普通的“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() { });

的jQuery简写