2009-06-15 2 views
2

私は、タブの定義(一般的な慣行)として<li>を使用するタブコンテナを持っています。 <li>には、style.cssファイルに関連付けられているスタイルがあります。これには、背景色と背景画像があります。jQuery:要素から埋め込みスタイルを削除する方法は?

コンテンツの中に<li>が含まれているタブの下にある各コンテナには、スタイルシート定義(背景イメージと色)があります。

jQueryを使用してコンテンツ領域でこれをオーバーライドするにはどうすればよいですか?私はコンテンツを変更することができません。なぜなら、それはデータベース駆動型であり、アプリケーションのどこかで使用されているからです。

ありがとうございます!

答えて

2

- あなたが前に指定されたルールの設定を解除する必要があるため、これは、面倒ですが、可能です。

あなたが持っている場合たとえば、次のようにより良い方法は、タブのスタイル情報は、タブのみで動作することを確認することです

li li { 
    height: auto; 
} 

li { 
    height: 100px; 
} 

をあなたはでそれを設定解除できます。 tab-liにクラスを追加すると、設定できるのは

li.tab { 
    height: 100px; 
} 

です。タブの下にあるli要素には影響しません。この方法では、コンテンツを変更する必要はありません(私はタブがそのコンテンツの一部ではないことを望んでいます)、あなたは物事を元に戻すためにjavascriptに頼る必要はありません。

+0

YLEBRE:はい。 TABセクションだけにCSSルールを追加することができました。他のすべてが収まった。 ありがとうございます! – Loony2nz

0

私はこれを試していませんが、<div>タグを<li>に追加し、内容を<div>にロードするのが最もよいと思います。次に、<div>の定義を作成し、background:noneを指定します。これは、ロードされたコンテンツにカスケードする必要があります。

4

あなたは本当にこれのためにjQueryを必要としませんが、単純にあなたの階層に子の色の背景色とイメージを削除するCSS宣言を追加することができます。例えば、

.tabs li { background-color: red; background-image: url(something.jpg) } 

.tabs li div li { background-color: transparent; background-image: none; } 

は、jQueryを使ってこれを行うには

$(".tabs > li div li").css("background-color", "transparent"); 
$(".tabs > li div li").css("background-image", "none"); 
あなたはより具体的なルールを指定することで、CSSを無効にすることができ
関連する問題