1

クラスを含むcssファイルと、これらのクラスが次のように保存された配列があります。

myArray[0] = myClass1
myArray[1] = myClass2
// etc...

setAttribute()現在、いくつかの方法を試し、配列に格納されているクラスに分類する方法についての答えを探しました。基本的に私がする必要があるのは:

myElement.setAttribute("class",myClass1);

しかし、私は方法を理解できません。

編集:

もっと明確にするべきだったかもしれませんが、「」内にクラス名を入力する以外は機能しません。基本的に私が持っているのは、配列と、配列からのランダムなクラス名を持つ変数です。その変数に setAttribute() を使用してクラス名を設定したい。

4

3 に答える 3

1

コメントから、配列から値を割り当てたいと言います。次のように簡単です。

var myClasses = [];
myClasses[0] = "myClass1";
myClasses[1] = "myClass2";

myElement.className = myClasses[1];

with を使用setAttributeして CSS クラスを設定するのは、ブラウザーの癖があるため簡単ではありません。使用.classNameはすべてのブラウザで機能します。そうでない場合は、次のようにsetAttribute機能するclassか、classNameまたは倍増するかを判断するために、素晴らしいスニッフィングを行う必要があります。

var myClasses = [];
myClasses[0] = "myClass1";
myClasses[1] = "myClass2";

myElement.setAttribute("class", myClasses[1]);
myElement.setAttribute("className", myClasses[1]);
于 2012-10-04T16:00:03.640 に答える
0

className要素のプロパティに文字列を設定または追加することで、クラスを追加できます。

if(myElement.className){
    myElement.className += " "+myClass1;
}else{
    myElement.className = myClass1;
}

以前のクラスが定義されている場合に備えて、スペースがあります。これは、誤っoldClassnewClassて正しいの代わりにのようなものになってしまうことを望まないためoldClass newClassです。

于 2012-10-04T15:52:19.667 に答える