jQuery(这个)奇怪的传播错误?

时间:2016-03-07 17:16:34

标签: javascript jquery this-pointer

对某些人来说,这个问题看起来并不清楚。

期望效果:

删除鼠标悬停在其上的元素类。

问题:

类删除会影响具有相同类的所有元素,即使我使用jQuery(this)指向元素。

我有以下html:

<div id="stars_rater">
    <span class="wp-svg-star star rater" id = "rater_1"></span>
    <span class="wp-svg-star star rater" id = "rater_2"></span>
    <span class="wp-svg-star star rater" id = "rater_3"></span>
    <span class="wp-svg-star star rater" id = "rater_4"></span>
    <span class="wp-svg-star star rater" id = "rater_5"></span>
</div>

这个jQuery:

if(jQuery('#stars_rater').length > 0)
{   
    jQuery('.rater').on('mousemove', function(e)
    {
        var parentOffset = jQuery(this).offset(); 
        var relX = e.pageX - parentOffset.left;
        var number = Number(jQuery(this).attr('id').substring(6));
        var current_id = jQuery(this).attr('id');
        rating = 0;
        if(relX < (jQuery(this).width()/2))
        {
            rating = ((number-1)+0.5); 
//          jQuery(this).removeClass();
            jQuery(this).addClass('wp-svg-star-1');
            jQuery(this).addClass('star-1');
        }
    });
}

一切正常,直到我到达评论行。 remove类和以下操作应用于具有类.rater的所有元素,而不是应用于jQuery(this)。

如果删除此行,脚本将按预期工作。

我曾尝试过有关冲突线的事情:

jQuery('#rater_'number).removeClass('class','');
jQuery(this).attr('class','');

我尝试以不同的方式附加活动

jQuery('#rater_1, #rater_2, #rater_3, #rater_4, #rater_5').on('mousemove', function(e)

这一切都没有解决问题。

0 个答案:

没有答案