1

このようなタグにCSSルールを適用しています

a { background-color: #000; }
a:hover {background-color: #ff0000; }

jqueryを使用してホバー動作を起動したいのですが、可能ですか? このコードは正常に実行されていますが、bg の色を赤に変更していません。

$('.me a').mouseenter();

なぜこれが必要なのですか?Web アプリケーションのメニューの自動テストを作成する必要があり、それが必要です。

ここでのポイントは、jquery を使用して a:hover にアタッチされたブラウザの動作を実行できますか?

4

9 に答える 9

1

スタイルにもクラス名があるように、CSS ルールを変更します。

a:hover,
a.mouseenter
{
   background-color: #ff0000;
}

次に、ホバー効果を与えたいときはいつでもクラスを追加/削除できます。

$('.me a').addClass("mouseenter");

ライブデモ: http://jsfiddle.net/X3Hm9/

于 2013-04-02T10:40:37.893 に答える
0

CSS ルールを再利用する場合は、次のようにします。

1) CSS ルールを次のように変更します。

a:hover, .hovered {background-color: #ff0000; }

2) この JavaScript コードを追加します

$('.me a').hover(function(){
  $(this).addClass('hovered');
},function(){
  $(this).removeClass('hovered');
});
于 2013-04-02T10:45:39.390 に答える
0

私が使用した1つの方法は次のとおりです。

ホバーのシミュレーションを開始します。 $('.me a').trigger("mouseover")

ホバーのシミュレートを終了します: $('.me a').trigger("mouseleave)

于 2013-04-02T10:49:31.480 に答える
-1

CSS を直接操作する場合と比較して、このコードの背後にある理由は、CSS が個々のページではなくスタイルシートに属しているからです。ここで、アプリケーション全体の背景色を変更する必要があり、jQuery の CSS を直接変更することを想像してみてください。楽しんでください。以下の例では、CSS シートの .hoverClass を変更して完了です。

a { background-color: #000; }
.hoverClass {background-color: #ff0000; }



$('.me a').mouseenter(function(){
     $(this).toggleClass('hoverClass');
}).mouseout(function(){
     $(this).toggleClass('hoverClass');
});

前述のように、ホバークラスの概念はあなたが達成しようとしているものであるため、これはまったく無意味に思えます。

.me>a:hover {background-color: #ff0000; }
于 2013-04-02T10:42:25.260 に答える