少し変わった問題があります。私は何度もこのようなことをしました:
$('#selector').css('color','#00f');
私の問題は、を作成し<div id="selector">
、上記のコマンドを呼び出すと正常に動作することです。
さて、別のイベントで、後でその要素をDOMから削除し、後で同じIDで再度追加します。この要素には現在がありませんcolor:#00f
。
id
同じ/で将来作成されるアイテムに影響を与えるように、CSSにルールを追加する方法はありclass
ますか?私はjQueryが好きですが、プレーンなJavaScriptを使用するものなら何でも構いません。
それは動的でなければならず、CSSファイルに入れるクラスがわかりません。また、アプリケーションの過程で、1つの属性を数回変更する予定です。たとえば、を、に、に設定color
し、に戻します。black
blue
red
black
私は@lucasspからの答えを持って行きました、そしてこれは私が最終的に得たものです:
function toggleIcon(elem, classname)
{
if($(elem).attr('src')=='img/checkbox_checked.gif')
{
$(elem).attr('src', 'img/checkbox_unchecked.gif')
//$('.'+classname).hide();//this was the old line that I removed
$('html > head').append($('<style>.'+classname+' { display:none; }</style>'));
}
else
{
$(elem).attr('src', 'img/checkbox_checked.gif')
//$('.'+classname).show();//this was the old line that I removed
$('html > head').append($('<style>.'+classname+' { display:block; }</style>'));
}
}
また、@ Nelsonがおそらく最も「正しい」と言いたいのですが、常に正常に機能するアプリケーションコードに入るにはより多くの作業が必要であり、現時点で費やしたい努力ではありません。
将来、これを書き直す(または似たようなものを書く)必要がある場合は、を調べますdetach()
。