2

ページが読み込まれた後、IDが「d1」のdivの数をカウントする関数を呼び出すにはどうすればよいですか。今、私は自分のセクションにそれを持っていますが、それはロードの何よりも前にスクリプトを実行しませんか?コードをdivタグの下に置くと機能するからです...

4

4 に答える 4

3

IDは繰り返されることを意図していないため、最初に1つだけ存在する必要があります。

次に、ストレート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は一意である必要があるため、答えは1つである必要があります。

<body onload='myFunc()'>DOMがロードされると、スクリプトを呼び出すために使用できます。

于 2010-02-13T00:51:43.137 に答える
0

次のように、関数をonloadイベントに関連付ける必要があります。

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

記録のために、複数のdivを持つことは無効であり、問​​題を引き起こす可能性があるため、そのIDを持つdivは1つだけにする必要があります。

于 2010-02-13T00:54:44.567 に答える