1

たとえば、空のセレクターを使用して要素を作成し、<div class="">別の要素を作成した場合<div>

空のクラスが原因で、その特定の要素を何らかの形でターゲットにすることはできますか?

ブラウザーのインスペクターを見ると、" div class"と表示されています。

要素に関連付けられたクラスが作成されない場合、そこに存在することで問題が発生したり、完全に無視されたりする可能性はありますか?

4

4 に答える 4

1

実際、要素を選択する方法がありますclass=""

たとえば、これについて

<div class=""></div>

使用する

div[class=""]

実際のデモ: http://jsfiddle.net/JRP4n/

空または null 値を持つクラスは、クラス属性がまったく定義されていないこととは異なるようです。

空である定義済みのクラスを真にdiv[class=""]ターゲットにしているため、機能します。

しかし、コメントで述べたように、空のクラス属性は仕様に準拠していませんが、興味深いことに、これまでのところすべての主要なブラウザーで機能しています。また、ブラウザがサポートを中止することを決定した場合、動作を停止する「可能性がある」ことも意味します。

于 2013-06-10T23:55:54.943 に答える
0

この機能を利用できるかどうかを調べたところ、用途が見つかりました。

要素からすべてのクラス名を削除するために js を使用する場合、要素は「要素クラス」として残されるため、[class=""] {x;} を使用すると、以前にクラスを削除した要素を対象にすることができます。

于 2013-06-16T15:36:00.677 に答える
0

一般に、以下はすべての属性に適用されます。

特に指定されていない限り、HTML 要素の属性は、空の文字列を含む任意の文字列値を持つことができます。

HTML5で空のclass属性を持つことは有効です。

属性が指定されている場合、要素が属するさまざまなクラスを表す一連のスペースで区切られたトークンの値が必要です。

スペースで区切られたトークンのセットは、次のように定義されます。

スペースで区切られたトークンのセットは、 1 つ以上のスペース文字で区切られた0 個以上の単語 (トークンと呼ばれる) を含む文字列であり、単語は 1 つ以上の文字の任意の文字列で構成され、いずれも空白文字は含まれません。

classしたがって、トークンを含まない属性を持つことができます。

<div class="">This should be valid.</div>

value も省略できます。

空の属性構文

属性名だけ。値は暗黙的に空の文字列です。

したがってclass、値のない属性を持つことができます (空の文字列を持つ値と同じです):

<div class>This should be valid.</div>

CSS では、次の方法でこれらの要素を選択できます。

[class] {color:red;} /* would select all elements with the class attribute, no matter which value */
[class=""] {color:red;} /* would select only elements with empty or no value */
[class|=""] {color:red;} /* would select elements that have an empty class value, no class value or a class value beginning with "-" */
于 2013-06-11T08:42:11.213 に答える
0

私が読んだ限りでは、空のクラス名の動作は指定されていません。 w3 HTML5 仕様を参照してください。私の経験では、ブラウザーは空の属性を無視するだけです。

于 2013-06-10T23:05:52.993 に答える