13

文字列形式の CSS があります。

border: solid 1px #0000ff; background-color: #ffff00;

そのCSSをに適用したい<div>. しかし、jQuery を使用して CSS を適用する例はすべてcssメソッドを使用する必要があり、そのルートに進むには、CSS 文字列をセミコロン ( ;) で分割してプロパティと値のペアを取得し、次に ( :) でプロパティを取得する必要があります。価値を見出し、行動する

$('myDiv').css(property, value);

CSS を文字列形式から直接適用する方法はありますか?

サブ値などでCSS 値にこれらの文字が含まれる可能性がある場合、このような単純な CSS (セミコロンとコロン) の解析は失敗するのではないかと心配しています。url

4

8 に答える 8

24

既存の属性を取得してからstyle、新しい属性を設定できます。

var target = $("#target");
target.attr("style", target.attr("style") + "; " + yourString);

実例| ソース

于 2013-02-12T10:11:32.040 に答える
4

style属性を使用して要素にインライン スタイルが設定されていないと仮定すると、次のように動作します。

$("#foo").attr('style', 'border: solid 1px #0000ff; background-color: #ffff00;');

フィドルの例

ただし、これは理想的なソリューションではないことに注意してください。より良い方法は、必要なスタイルをクラスに入れてaddClass()代わりに使用することです。

于 2013-02-12T10:11:33.383 に答える
3

文字列ベースのスタイルを追加する別の方法があります。以下がスタイル文字列の場合 -

    border: solid 1px #0000ff; background-color: #ffff00;

それで

    var div = document.getElementById('myDiv');
    div.style.cssText = 'border: solid 1px #0000ff; background-color: #ffff00;';

フィドル: https://jsfiddle.net/eja0zea4/

于 2015-03-27T04:32:37.227 に答える
1

jQuery の関数を使用するだけ , .attr('style', 'somthing...')非常に使いやすく、耐障害性について考える必要はありません。

于 2015-03-19T02:32:32.593 に答える
1

jQuery .attr() 関数を使用して CSS 文字列をスタイル属性の div に直接追加できますが、jQuery .addClass() 関数を使用してクラスを div に割り当て、css プロパティをクラス。

于 2013-02-12T10:11:20.410 に答える
0

CSS クラスを作成して、 jQueryの addClass removeClass メソッドを使用しない理由

.myClass {
   border: solid 1px #0000ff; 
   background-color: #ffff00;
}

それから

$(div).addClass('myClass');
于 2013-02-12T10:10:49.350 に答える