2013-07-23 9 views
6

インラインエディタを使用してCSSクラスを編集し、変更が行われたらクラス定義を削除して再度追加します。オプションを使用して要素を削除するので、定義を削除する必要があります。このコードを使用した作品の追加jQueryを使用して、ページの先頭に動的に追加されたクラスを削除するにはどうすればいいですか?

$("<style>").prop("type", "text/css").html("#my_element_"+MaxElements+" {"+ xCSSCode +"}").appendTo("head"); 

をしかし、私は次のようにページの先頭に挿入され、このクラスを削除するように見えることはできません。

<style type="text/css">#my_element_1 {border-radius: 12.5px; 
... 
}</style> 
+0

を、あなたは全体のスタイルブロックを削除しようとしていますか?それともその特定のスタイルですか? –

答えて

10

は、スタイルタグを作成します:

var style = $("<style />", { 
       id : 'myStyleTag', 
       type: 'text/css', 
       html: "#my_element_"+MaxElements+" {"+ xCSSCode +"}" 
}).appendTo("head"); 

を削除します
style.remove(); 
// or 
$('#myStyleTag').remove(); 
+0

そのスタイルの1つ以上がすでに頭に入っているかどうかをチェックし、前のスタイルを削除するのはどうでしょうか? – KeepMove

+1

@SteveWorks - 'if($( 'style')。length> 1)...'のようなもの – adeneo

2

私はオブジェクト内の要素を格納します:

var styles = {}; 

... 

styles[some_identifier] = $("<style>", { 
    type: "text/css", 
    html: "#my_element_"+MaxElements+" {"+ xCSSCode +"}" 
}).appendTo("head"); 

あなたは簡単にスタイルタグを削除することができます。

styles[some_identifier].remove(); 
0
$('#my_element').removeClass('hidden'); 
// also 
$('#my_element').addClass('hidden'); 
関連する問題