29

jqueryを使用して特定のdivを申請したいのですが、を使用してキーワードをheightオーバーライドできません。'!important'jquery

マークアップは次のとおりです。

<div id="divL1" class="myclass">sometext here</div>
<div id="divL2" class="myclass">sometext here</div>
<div id="divL3" class="myclass">sometext here</div>
<div id="divL4" class="myclass">sometext here</div>

CSS:

.myclass{
 height:50px !important;
}

classここで、divid が「divL3」に等しい「myclass」を見つけたい

私は試してみました:

$('#divL3.myclass').css('height', '0px');

しかし、うまくいきません!だから、オーバーライドする方法'!important' css using jquery

助けてください!

4

15 に答える 15

38

これを試して :

$( '.myclass' ).each(function () {
    this.style.setProperty( 'height', '0px', 'important' );
});

.setProperty () を使用すると、優先度を表す 3 番目の引数を渡すことができます。

于 2013-11-07T05:25:14.877 に答える
19

スタイル属性を追加してこの問題を解決する別の簡単な方法。

$('.selector').attr('style','width:500px !important');

これはあなたの問題を簡単に解決します... :)

于 2014-04-21T13:55:52.830 に答える
3

インライン スタイルは、スタイルシートで指定された !important をオーバーライドできません。

したがって、long を使用する!importantことによってのみオーバーライドできます。!importantjQuery

のようにしてみてください

$('#divL3.myclass').attr('style', 'height: 0px !important');
于 2013-11-07T05:28:23.657 に答える
1
$('#divL3.myclass').attr('style', 'height:0px !important');

上記のようなものは機能しますか?

于 2013-11-07T05:24:59.353 に答える
1

それを成し遂げる別のトリックがあります!!! myclass要素からを削除して、高さを適用できますか。お気に入り

$('#divL3.myclass').removeClass('myclass').css('height', '0px');
于 2013-11-07T05:25:17.553 に答える
1

最初の Id は一意の識別子であるため、クラス名で div を検索する必要はありません。したがって、その id で div をフィルタリングできます。

次のコードを試してください

最初に、このように myClass の下に新しい Class プロパティを追加します

<style>
            .myclass{
                height:50px !important;
                border: 1px solid red;
            }
            .testClass{
                height: 0 !important;
            }
        </style>

myClass の height プロパティをオーバーライドします

このクラスをdivに追加するだけです

$('#divL3').addClass('testClass');

ただし、高さを「0」にすると、「divL3」のコンテンツが非表示になりません。css プロパティ display:none を追加して、オーバーフロー コンテンツを非表示にするか、div 全体を非表示にしようとします。

それがあなたのために働くことを願っています。

于 2013-11-07T05:55:00.157 に答える
0

この方法を試してみませんか?

        <style type="text/css">
        .myclass{
             height:50px !important;
        }
        .newclass{
             height:0px;
        }
        </style>

Jクエリ:

  $('#divL3').removeClass('myclass').addClass('newclass');  
于 2013-11-07T05:38:24.843 に答える
0

後でオーバーライドしたい場合、CSSに !important がある理由がわかりません。CSS の高さの !important を削除します。CSS は常に、CSS よりも HTML タグのスタイルを優先します。

 .myclass{
   height:50px;
  }

  $('#divL3.myclass').css('height', '0px'); 

これはデザインに適しています。

于 2015-02-11T20:47:11.693 に答える
-5

これを試しましたか?

$('#divL3.myclass').css('height', '0px !important');
于 2013-11-07T05:23:07.083 に答える