Web 要素を操作する場合、ユーザー インタラクションに基づいて特定の視覚スタイルや効果を適用する必要が生じる場合があります。要素の上にマウスを置くなど。 CSS はそのようなスタイルを定義するための :hover などの疑似クラスを提供しますが、次のような疑問が生じます: jQuery を使用してこの機能をどのように複製できるでしょうか?
jQuery での要素へのクラスの追加通常は addClass() メソッドを使用します:
$(this).addClass("class_name");
ただし、クラス名として「hover」だけを使用しても、 「hover」という名前のクラスを要素に追加するだけなので、目的の効果が得られます。
問題の核心は擬似クラスの性質にあります。のように:ホバー。これらは、ホバリングなどのユーザーの Web ページとの対話に基づいてスタイルを適用する動的セレクターです。これらは、DOM からはすぐに入手できない情報に依存しているため、jQuery を使用して動作を直接シミュレートすることが困難になります。
この制限を克服するには、次の 2 つの代替アプローチを使用できます。
スタイルを含めた追加クラス:
ホバー時に適用するスタイルを含む追加の CSS クラス。次に、jQuery を使用して、ユーザー操作時にこのクラスを要素に追加します。
.element_class_name:hover, .element_class_name.jqhover { /* style properties */ }
$(this).addClass("jqhover");
直接スタイル変更:
DOM をトラバースして、 :hover 疑似クラスのスタイルを定義する CSS ルールを見つけます。次に、jQuery を使用して要素に必要な CSS プロパティを設定できます。
// Find the CSS rule var rule = $("style").find(".element_class_name:hover"); // Apply the style properties rule.prop("cssText", "background-color: red; color: white;");
これらの手法を使用すると、依存せずに :hover などの疑似クラスの動作を効果的にシミュレートできます。組み込みの動的擬似クラス選択について。
以上がjQuery を使用して :hover などの CSS 疑似クラスの機能を複製するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。