0

私はJavaScriptを初めて使用するので、問題は単純かもしれないと思います。これは機能します:

var convId = document.getElementById("wrapper");
convId.setAttribute("align","right");

しかし、私がそれをより具体的にしようとすると:

var convId = document.getElementById("wrapper");
var convIdDl = convId.getElementsByTagName("dl");
convIdDl.setAttribute("align","right");

定義リストが右揃えになりません。HTMLとCSSを確認しましたが、すべてが正しいのですが、JavaScriptが両方を上書きしても問題ありません。

4

2 に答える 2

5

このgetElementsByTagNameメソッドはコレクションを返します(より具体的には、NodeList)。そのコレクションのどの要素を使用するかを指定する必要があります(配列内の要素にアクセスする場合と同じように)。ここで私はあなたが最初のものが欲しいと仮定しています:

convIdDl[0].setAttribute("align", "right");

コメントに記載されているように、この属性は絶対に使用しないでくださいalign。すべての場合にCSSを使用する必要があります。

于 2012-04-07T20:32:36.503 に答える
4

このgetElementsByTagName()関数はDOM要素のコレクションを返すため、それを繰り返し処理して、各要素に個別に属性を設定することをお勧めします。

for(var i = 0; i < convIdDl.length; i++) {
    convIdDl[i].setAttribute("align", "right");
}
于 2012-04-07T20:33:57.403 に答える