jQueryを使用して次のHTMLを変更しようとしています
'<label for="aTitle" generated="true" class="error aTitle" style=""></label>';
しかし、以下のjQueryコードを使用しても、何も変わりません。そこのスペースを削除することはできません。これを機能させる他の方法はありますか?
$(".error aTitle").html("Hello <b>world!</b>");
スペースを削除し、.
クラスセレクターに追加しますaTitle
$(".error.aTitle").html("Hello <b>world!</b>");
class="error aTitle"
ここでは、実際には1つではなく2つのクラスを設定しています。要素にはクラスがあり、要素にはクラスerror
がありaTitle
ます。
両方のクラスを持つ要素を選択する必要があります。
$('.error.aTitle')
あなたの現在のセレクターは、親要素が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" />