解決済み: CSS の継承が原因で問題が発生したようです。記録のために、私の元の質問の 2 番目のスニペットは実際に機能しました。
入力とラベルを含む html フォームがあります。
入力にフォーカスすると、jquery を使用してラベル スタイルを正常に変更できます。これは、以下のスニペットを使用して行われます。
$("input, textarea").focus(function(){
$("label[for='" + this.id + "']").addClass("labelfocus");
})
.blur(function()
{
$("label").removeClass("labelfocus");
});
ただし、これは動的に生成されたフォームでは機能しません。
jquery の "$(document).on(…" を使用してみましたが、それもうまくいきません。以下のスニペットを参照してください。
$(document).on({
focus: function() {
$("label[for='" + this.id + "']").addClass("labelfocus");
},
blur: function() {
$("label").removeClass("labelfocus");
}
}, "input, textarea");
何かアドバイス?ありがとう!