0

私は JavaScript に非常に慣れていないので、次のような特定の HTML のスタイルをどのように設定できるか疑問に思っていました。

<a id="234" action="." class="rawup"</a>
<a id="234" action="." class="rawdown"></a>

上記に次のようなスタイルを適用しようとしています。

document.getElementById("234").style.backgroundPosition='0px 150px';

これは正常に動作します..しかし、私がやりたいのは、クラス「rawup」と「rawdown」を区別できるように、getElementById と getElementByClass (?) です。したがって、次のようなものです:

document.getElementById("234").getElementByClass("rawup").style.backgroundPosition='0px 150px';

上記を試してみましたが、うまくいかないようです-誰かが私を案内してくれるかどうか疑問に思っていました. 申し訳ありませんが、完全な JS 初心者です。

4

1 に答える 1

0

最初:同じ を持つ要素を複数持つことはできませんidそのため、それらを識別子と呼んでいます。id複数の要素に同じ値を使用することは無効です (無意味です) 。

しかし、 と の両方のクエリをどのように行うかという質問に答えるidclass/をサポートするブラウザーでそれを行うことができます。/は CSS セレクターを使用し、数字で始まる値は CSS では無効です (HTML では有効です)。querySelectorquerySelectorAllidquerySelectorquerySelectorAllid

id "abc"と classを持つ要素を見つけたいが、 class を持たない要素"foo"を見つけたくない場合は、次のようにすることができます。"abc""foo"

var element = document.querySelector("#abc.foo");
if (element) {
    // Found it
}
else {
    // Didn't find it
}

ただし、繰り返しますが、これを で 2 つの要素を区別するために使用しないでください。同じものを複数の要素にid "abc"与えてはならないからです。id

于 2013-03-25T23:17:55.697 に答える