1

次のような要素を選択したいとします

<div class="my class">InnerHTML</div>

これは で CSS セレクターを使用して簡単に実行できますが[class="my class"]gwtqueryは入力に引用符を使用しないという意味で違いがあります。のような値のみを受け入れます[attribute=attributevalue]

間にスペースを入れてGQueryで同じセレクターを適用すると、一致が返されませんでした。これは、そのような場合のライブラリでの不適切な解析が原因である可能性があると感じています。そうですか?

もしそうなら、GQuery を使用してこれらの要素を選択する他の方法はありますか?

4

2 に答える 2

2

それは私のために働きます(少なくともgwtquery-1.1.0とgwt 2.4.0で)

GQuery myClassDivs = $("div[class=\"my class\"]");

の一致を返します<div class="my class"/>


ただし、class属性を使用する場合は、通常は同等として扱われる必要があるため、~=代わりにセレクターを使用することをお勧めします。<div class="my class"/><div class="class my"/>

だから私は使用することをお勧めします

GQuery myClassDivs = $("div[class~=my][class~=class]");

これにより、のようなものも選択されますが<div class="my class special"/>、これは通常望ましいことです。

于 2012-05-23T21:17:53.280 に答える
1

一般に、スペースで区切られた単語で属性を選択するには、Chris Lercher が述べたよう[att~=val]にセレクターを使用します。

または、とにかく属性で選択しているので、class代わりにクラスセレクターを使用できます。

GQuery myClassDivs = $("div.my.class");

これに関して:

間にスペースを入れてGQueryで同じセレクターを適用すると、一致が返されませんでした。これは、そのような場合のライブラリでの不適切な解析が原因である可能性があると感じています。そうですか?

引用符で囲まれていない属性値にスペースを追加することについて言及している場合、それはライブラリの解析エラーではありません。引用符で囲まれていない属性値のスペースは明示的に無効であるため、セレクタ自体は無効です。

引用符で囲まれた属性値が認識されない場合、それライブラリの解析エラーです。

于 2012-05-24T05:23:24.840 に答える