-4

いろいろなIDやクラスを選びたいです。例えば:

<div id="a b c d" class="e f g h i j ">Red text</div>
#a.#b.#c.#d.e.f.g.h.i.j{color:red;}

また試した:

#a#b#c#d.e.f.g.h.i.j{color:red;}

JSFIDDLE: http: //jsfiddle.net/vHvm9/

これは機能しません。CSSはそれほど多くの選択をサポートしていませんか、それとも私は何か間違ったことをしていますか?

4

2 に答える 2

3

CSS に関する限り、2 番目のセレクター#a#b#c#d.e.f.g.h.i.jは有効であり、理論的には CSS で複数の ID を持つ要素を一致させることができます。しかし、これが機能するのは、最初から DOM が要素に多くの ID を持つことを実際に許可している場合だけです。HTML では、スペースはクラス名のように ID 名を区切りません。HTML 要素は、属性で指定された ID を最大 1 つしか持つことができずid、その ID にスペースを含めることは想定されていません (とにかく、そのような不適切なマークアップをフィードした場合、ブラウザーは喜んでそれを受け取ります)。

他の方法で 1 つの要素に他の ID を割り当てることもできますが (これも DOM で許可されている場合)、複数の ID を持つことが何かを意味するあいまいなマークアップ言語を使用している場合を除いて、実用的な理由はまったくありません。

だから、あなたの質問に答えるために: あなたが間違っているのは、要素に複数の ID をまったく割り当てようとしていることです。値に空白を入れずに 1 つの ID を割り当て、その ID で選択するだけです。

于 2013-02-17T17:35:05.157 に答える
2

Jan が指摘したように、単一の要素が HTML または XML で複数の ID を持つことはできません。

ただし、複数の ID をサポートするホスト言語 (CSS 用) が見つかった場合は、正しい CSS セレクターを使用する必要があります。

#a#b#c#d.e.f.g.h.i.j{color:red;}
于 2013-02-17T17:35:31.227 に答える