对某些人来说,这个问题看起来并不清楚。
期望效果:
删除鼠标悬停在其上的元素类。
问题:
类删除会影响具有相同类的所有元素,即使我使用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)
这一切都没有解决问题。