1

jQueryを使用して次のHTMLを変更しようとしています

'<label for="aTitle" generated="true" class="error aTitle" style=""></label>';

しかし、以下のjQueryコードを使用しても、何も変わりません。そこのスペースを削除することはできません。これを機能させる他の方法はありますか?

$(".error aTitle").html("Hello <b>world!</b>");
4

3 に答える 3

9

スペースを削除し、.クラスセレクターに追加しますaTitle

$(".error.aTitle").html("Hello <b>world!</b>");
于 2012-08-21T14:25:38.520 に答える
0
class="error aTitle"

ここでは、実際には1つではなく2つのクラスを設定しています。要素にはクラスがあり、要素にはクラスerrorがありaTitleます。

両方のクラスを持つ要素を選択する必要があります。

$('.error.aTitle')
于 2012-08-21T14:46:01.657 に答える
0

あなたの現在のセレクターは、親要素がCSSクラスを持っている$(".error aTitle")すべての要素に一致するように言っていますが、これはあなたが望むものではありません。<aTitle>.error

必要な要素を選択するには、セレクターをに変更する必要があります$('.error.aTitle')。すべてのクラスの前に(CSSクラスを示すために)ピリオドを付ける必要があります。そうしないと、要素(つまり、<div>)として表示されます。セレクター内の項目間のスペースは遺産を示します。したがって、のようなセレクターを使用すると、親要素がCSSクラスを持つ$('.error .aTitle')CSSクラスを持つすべての要素を選択することになります。 .aTitle.error

使用できるセレクターのもう1つの例(少しやり過ぎかもしれません)は、とのCSSクラスで$('label.aTitle.error')すべてを選択することを示しています。このセレクターは、たとえば、とは一致しません。<label>.aTitle.error<input type="text" class="error aTitle" />

于 2012-08-21T14:38:52.037 に答える