setAttribute(string name, string value): 指定された名前と値を持つ新しい属性を追加するか、既存の属性を指定された値に設定します。
1. スタイルの問題
setAttribute("class", value) のクラスは属性「class」の変更を参照するため、引用符で囲む必要があります。
vName は、スタイルに値を割り当てることを表します。
例:
var input = document.createElement( "input");
input.setAttribute("type", "text");
input.setAttribute("name", "q");
input.setAttribute("class ",bordercss) ;
出力時:
、つまり、入力コントロールには bordercss スタイル属性があります
注: W3C DOM の class 属性は非常に重要な役割を果たしますが、ブラウザの違いにより依然として存在します。
setAttribute("class", vName) ステートメントを使用して Element のクラス属性を動的に設定することは、Firefox では機能しますが、IE では機能しません。 IE コアを使用するブラウザは「class」を認識しないため、代わりに「className」を使用する必要があります。
同様に、Firefox も「className」を認識しません。したがって、一般的な方法は両方を使用することです:
element.setAttribute ("class", value); //Firefox の場合
element.setAttribute("className", value); //IE
2 の場合、メソッド属性とその他の問題
例:
var bar = document.getElementById("testbt");
bar.setAttribute("onclick", "javascript:alert('This is a test!');");
ここでは setAttribute を使用しますe の onclick 属性を指定します。これは簡単でよく理解できます。
ただし、IE は setAttribute 関数をサポートしていないのではなく、オブジェクト属性、コレクション属性、イベント属性などの特定の属性を設定するための setAttribute の使用をサポートしていません。 setAttribute を使用してスタイルと onclick 属性を設定することは、IE では機能しません。
さまざまなブラウザとの互換性を実現するために、要素のオブジェクト プロパティ、コレクション プロパティ、イベント プロパティをドット表記法を使用して設定できます。
document.getElementById("testbt")。 className = " bordercss";
document.getElementById("testbt").style.cssText = "color: #00f;";
document.getElementById("testbt").style.color = "#00f" ;
document.getElementById("testbt").onclick= function () {alert("これはテストです!") }