jqGridの add フォームのCSSを変更したい。jqGrid の追加フォームのリンクで完全な CSS を変更する方法はありますか?
追加フォーム用に別の CSS ファイルをインポートして、その追加フォームに申請したい。
こことここで見つけることができる追加/編集フォームに jqGrid を使用するすべての CSS スタイル。行を調べて任意の jqGrid フォームの HTML フラグメントを調べると、jqGrid で使用されるすべてのクラスが表示されます。
「別のcssをインポートする」の下であなたが何を意味するのかだけはわかりません。「インポート」は、同じクラス名と要素の同じ階層 (dive、table、tr などの要素) を持つ別の CSS スタイルがどこかにある場合にのみ機能します。したがって、jqGrid で使用されるフォームのスタイルを変更することは可能ですが、スタイルの調整はそれほど簡単ではありません。変更を行うには、jqGrid ダイアログ (フォーム) の構造を正確に調べる必要があります。
更新: jqGrid は jQuery UI スタイルを使用します。したがって、jQuery UI を別のものに変更するだけで、jqGrid がそれを使用します。
たとえば、デモ( answerからの古いデモの単純な変更) は、次の編集フォームを生成します。
あなたの場合、ファイルを変更する代わりにid
、タグに追加して変更することをお勧めします。各ファイルのCSSセレクターの前に<body>
追加することで操作できます。.bodyClass1
例
style1.css
.bodyClass1 .C1{ ... }
.bodyClass1 .C2{ ... }
style2.css
.bodyClass2 .C1{ ... }
.bodyClass2 .C2{ ... }
したがって、HTMLを使用style1.css
していて、それを に変更したい場合はstyle2.css
、次を使用するだけです。
$('body').removeClass('bodyClass1');
$('body').addClass('bodyClass2');
試してみてください$('#myItemID').css( propertyName , value )
ページ全体に影響を与えずにスタイルシートを変更することはできません。
これを達成するために私が考えることができる唯一の方法は、iframe を使用することですが、それは少し不格好です。
クラスを親 div に追加してから、css ファイルを次のように変更できます。
.sheet1 .c1 {
border: 1px solid #000
}
最初のシートと
.sheet2 .c1 {
border: 3px solid #f00;
}
秒で。次に、マークアップは次のようになります。
<div class="sheet1"> <!-- parent div -->
<div class="c1">Hello!</div>
</div>
sheet1
親 divのクラスを変更するsheet2
と、子 div が変更されます。
ページのさまざまな部分にさまざまなスタイルシートを適用することはできません。
cssファイルにC1やC2などの2つのクラスを含めてから、次のようなIDでターゲットを設定して、関連するdivのクラスを変更することをお勧めします。
<div id="mydiv" class="c1"> </div>
$('#mydiv').addClass('c2');
$('#mydiv').removeClass('c1');