私は幾分珍しい問題があります。CSSルールをjQuery経由で将来作成される要素に追加する
$('#selector').css('color','#00f');
私の問題は、私は<div id="selector">
を作成することである、と私は、上記のコマンドを呼び出して、それが正常に動作します:私はこの何倍ものようなものをやりました。
今度は別のイベントで、後でDOMからその要素を削除し、後で同じIDで再度追加します。この要素は現在color:#00f
を持っていません。
CSSでルールを追加する方法はありますか?今後作成されるアイテムには同じような影響があります。id
/class
?私はjQueryが好きですが、普通のJavaScriptを使ったものであれば問題ありません。
動的でなければならず、CSSファイルに入れるクラスがわかりません。また、私は、アプリケーションの過程を通していくつかの異なる属性を変更する予定です。たとえば、color
をblack
に、blue
を、red
に、そしてに戻します。
私は @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()
を調べます。
'.css()'は '$( '#selector')'のスタイル属性を設定します。それはCSSルールを作成しません。 – Zefiryn
私はこれがまさに私が求めていることです。属性を調整するだけでなく、ルールを作成したいのです。 – Landon
'.css()'メソッドの結果に驚いていたように、私はそれを指摘していました。回答は、これをどのように対処するかを指示しています。 – Zefiryn