2

我如何调用一个函数来计算页面加载后 id 为 'd1' 的 div 的数量。现在我在我的部分有它,但在加载任何内容之前不执行脚本吗?因为如果我将代码放在 div 标签下面,它就可以工作......

4

4 回答 4

3

首先应该最多有一个,因为 ID 并不意味着重复。

其次,在直接的 Javascript 中,您可以调用getElementById()以验证它是否存在或getElementsByTagName()遍历所有 div 并计算符合您条件的数字。

var elem = document.getElementById("d1");
if (elem) {
  // it exists
}

或者

var divs = document.getElementsByTagName("div");
var count = 0;
for (var i = 0; i < divs.length; i++) { 
  var div = divs[i];
  if (div.id == "d1") {
    count++;
  }
}

但我不能保证这样做的正确行为,因为就像我说的那样,ID 是唯一的,当它们不是时,行为是未定义的。

于 2010-02-13T00:49:39.397 回答
0

使用jQuery 的 document.ready()或连接到 onLoad 事件。

于 2010-02-13T00:50:58.120 回答
0

一个 ID 应该是唯一的,所以答案应该是一个。

加载 DOM 后,您可以使用它<body onload='myFunc()'>来调用脚本。

于 2010-02-13T00:51:43.137 回答
0

您需要将函数绑定到onload事件,如下所示:

window.onload = function() {
    var divElements = document.getElementById("d1");
    var divCount = divElements.length;
    alert(divCount);
};

作为记录,您应该只拥有一个具有该 ID 的 div,因为拥有多个是无效的并且可能会导致问题。

于 2010-02-13T00:54:44.567 回答