JavaScriptは疑似スタイルの修正を実現します。
1856 ワード
プロジェクトでは、JavaScriptを使って、動的に元素(:before、:after)として制御する必要がありますが、JavaScriptやjQueryには偽の選択がないことはよく分かります。ここではいくつかのよくある方法をまとめます。
HTML
<p class=「red」Hi,this is a plin-old,sad-looking paragraph.
CSS
方法1
JavaScriptまたはjQueryを使って
方法2
既存のスタイルで新しいスタイルを動的に挿入します。
方法3
新しいスタイルシートを作成し、JavaScriptまたはjQueryを使ってに挿入します。
jQuery
方法4
HTML 5のdata-属性を使用して、属性の中でatr()を使って動的に修正します。
HTML
<p class=「red」Hi,this is a plin-old,sad-looking paragraph.
CSS
.red::before {
content: 'red';
color: red;
}
方法1
JavaScriptまたはjQueryを使って
要素の類名を切り替えて、スタイルを修正します。
.green::before {
content: 'green';
color: green;
}
$('p').removeClass('red').addClass('green');
方法2
既存のスタイルで新しいスタイルを動的に挿入します。
document.styleSheets[0].addRule('.red::before','color: green');
document.styleSheets[0].insertRule('.red::before { color: green }', 0);
方法3
新しいスタイルシートを作成し、JavaScriptまたはjQueryを使ってに挿入します。
// Create a new style tag
var style = document.createElement("style");
// Append the style tag to head
document.head.appendChild(style);
// Grab the stylesheet object
sheet = style.sheet
// Use addRule or insertRule to inject styles
sheet.addRule('.red::before','color: green');
sheet.insertRule('.red::before { color: green }', 0);
jQuery
$('<style>.red::before{color:green}</style>').appendTo('head');
方法4
HTML 5のdata-属性を使用して、属性の中でatr()を使って動的に修正します。
<p class="red" data-attr="red">Hi, this is plain-old, sad-looking paragraph tag.</p>
.red::before {
content: attr(data-attr);
color: red;
}
$('.red').attr('data-attr', 'green');
以上は私達がみんなのために整理した四つの方法です。もし皆さんがもっといい方法があれば、下のメッセンジャーエリアで検討してもいいです。