4

ページの div の幅を取得する JS 関数があります。

function getWidth() { 
   var container = document.getElementsByClassName('tag');
   var message = "The width of the contents width padding: " + container.width + "px.\n";
   alert(message);
}

ページが読み込まれるまで関数は実行されません。

<body onload="getWidth()">

また、div は CSS でパーセンテージとして定義され、最大幅は 900px であり、これが出力されるはずです。しかし、代わりに、次のアラートが表示されます。

The width of the contents width padding: undefinedpx.

答えを探しましたが、これでうまくいくようです。機能しない理由はありますか?

4

1 に答える 1

10

getElementsByClassName は、ノードのコレクションを返します。

あなたはそれが一つであるかのように振る舞っています。

インデックスを選択する必要があります。

var container = document.getElementsByClassName('tag')[0];
于 2013-08-19T15:44:56.213 に答える