2

私は次のように定義された星評価システムを持っています:

<span class="rating_container"> 
    <span class="star_container">  
        <a rel="nofollow" href="" class="star star_1" >1<span class="rating">Terrible</span></a>   
        <a rel="nofollow" href="" class="star star_2" >2<span class="rating">Bad</span></a>
        <a rel="nofollow" href="" class="star star_3" >3<span class="rating">Bad</span></a>
        <a rel="nofollow" href="" class="star star_4" >4<span class="rating">OK</span></a>   
        <a rel="nofollow" href="" class="star star_5" >5<span class="rating">OK</span></a>   
        <a rel="nofollow" href="" class="star star_6" >6<span class="rating">OK</span></a>   
        <a rel="nofollow" href="" class="star star_7" >7<span class="rating">Good</span></a>   
        <a rel="nofollow" href="" class="star star_8" >8<span class="rating">Good</span></a>   
        <a rel="nofollow" href="" class="star star_9" >9<span class="rating">Excellent</span></a>   
        <a rel="nofollow" href="" class="star star_10" >10<span class="rating">Excellent</span></a>  
    </span> 
</span> 

マウスオーバーが発生すると、個々の星に色が付けられます。jqueryでこれをシミュレートするにはどうすればよいですか?たとえば、スター5にマウスオーバーしたいと思います。これは私が試したことです。

     $('.star.star_5').addClass('active');

私は何が欠けていますか?

4

4 に答える 4

5

試す :

$(".star_5").trigger('mouseover');

これにより、マウスオーバーアクションがエミュレートされるのではなく、発生した場合にトリガーされ、マウスオーバーハンドラーの変更に対する将来性を保証します。

于 2013-01-09T21:12:06.853 に答える
2

必要なのは

$('.star.star_5').addClass('active');

.star.star_5と の間_にスペースがないことに注意star_5してください。(ありがとう@wirey )

于 2013-01-09T21:10:27.947 に答える
0

本当にイベントをシミュレートしたい場合: 対応する jQuery 関数のパラメーターなしの形式を使用して、JavaScript イベントをトリガーできます。例えば:

$('.star.star_5').mouseover();
于 2013-01-09T21:13:48.417 に答える
0

CSS (jQuery セレクターの基になっているもの) では、.class1 .class2「class1 の祖先を持つ class2 の要素」を意味します。これはあなたが望むものではありません。.class1.class2「class1とclass2の両方を持つ要素」を意味する必要があります:

$('.star.star_5').addClass('active');
于 2013-01-09T21:13:15.427 に答える