ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript は疑似クラス スタイルの変更を実装します

JavaScript は疑似クラス スタイルの変更を実装します

小云云
小云云オリジナル
2017-12-07 15:58:131677ブラウズ

プロジェクトでは、JavaScript を使用して要素 (:before、:after) のスタイルを動的に制御する必要があることがよくありますが、JavaScript や jQuery には疑似クラス セレクターがないことは誰もが知っています。この記事では主にJavaScriptで擬似クラスのスタイルを変更する方法とコードの実装手順を紹介します。

HTML

6f23bfb838f442699a99d538155cf763こんにちは、これはありきたりで悲しげな段落タグです。94b3e26ee717c64999d7867364b1b4a3

CSS


.red::before {
content: 'red';
color: red;
}


方法 1

JavaScript または jQuery を使用して、e388a4556c0f65e1904146cc1a846bee 要素のクラス名を切り替え、スタイルを変更します。


.green::before {
content: 'green';
color: green;
}
$('p').removeClass('red').addClass('green');


方法 2

新しいスタイルを既存の c9ccee2e6ea535a969eb3f532ad9fe89 に動的に挿入します。


document.styleSheets[0].addRule('.red::before','color: green');
document.styleSheets[0].insertRule('.red::before { color: green }', 0);


方法 3

JavaScript または jQuery を使用して 93f0f5c25f18dab9d176bd4f6de5d30e に挿入します


// 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


$(&#39;<style>.red::before{color:green}</style>&#39;).appendTo(&#39;head&#39;);


方法 4

HTML5 の data 属性を使用し、属性内で attr() を使用して動的に変更します。


<p class="red" data-attr="red">Hi, this is plain-old, sad-looking paragraph tag.</p>
.red::before {
content: attr(data-attr);
color: red;
}
$(&#39;.red&#39;).attr(&#39;data-attr&#39;, &#39;green&#39;);

関連する推奨事項:

疑似クラスセレクターの概要

PHPの疑似型と疑似変数

php関数の通常のパラメータ関数と疑似型パラメータ関数

以上がJavaScript は疑似クラス スタイルの変更を実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。