Javascript 使用$的属性(此)
老实说,我不知道我的问题是否与我正在使用的插件的jQuery有关 我使用RateYo()插件在我们的网站上显示星星。需要显示的星星数在div的属性中给出:Javascript 使用$的属性(此),javascript,jquery,Javascript,Jquery,老实说,我不知道我的问题是否与我正在使用的插件的jQuery有关 我使用RateYo()插件在我们的网站上显示星星。需要显示的星星数在div的属性中给出: <div id="rating-avg" class="rateyo" rating="<?php echo $avg_rating; ?>" preset="true"></div> })) 不幸的是,这不起作用。该插件确实启动并创建了STAR,但是变量$(this.attr('rating')和$(t
<div id="rating-avg" class="rateyo" rating="<?php echo $avg_rating; ?>" preset="true"></div>
}))
不幸的是,这不起作用。该插件确实启动并创建了STAR,但是变量$(this.attr('rating')和$(this.attr('preset')没有使用。不显示评级,而是显示空星
当我使用以下代码时,评级将完美显示:
$("#rating-avg").rateYo({
rating: $("#rating-avg").attr("rating"),
readOnly: $("#rating-avg").attr("preset")
});
不幸的是,我需要插件按类启动,而不是id。我们在网站上有不同数量的评级,所以按id选择它们不是一个选项
有人知道我做错了什么吗?您的
值将不正确,并且您的类名使用了错误的大写字母。您可能可以让它像这样工作:
$(".rateyo").each(function() {
var item = $(this);
item.rateYo({
rating: item.attr('rating'),
readOnly: item.attr('preset')
});
});
注意,您可能应该使用HTML5数据属性,而不是您自己的自定义属性:
<div id="rating-avg" class="rateyo" data-rating="<?php echo $avg_rating; ?>" data-preset="true"></div>
$(".rateyo").each(function() {
var item = $(this);
item.rateYo({
rating: item.data('rating'),
readOnly: item.data('preset')
});
});
您在jQuery代码中引用的是rateYo
,而class属性包含rateYo
,没有大写字母“Y”。这不是唯一的问题,因为他们在使用This
时也有问题。谢谢您的回答,David!就这样。非常感谢!仔细想想,我发现了我使用的逻辑中的错误。除了解决这个具体问题,我还学会了如何在将来处理这个问题。再次感谢!
<div id="rating-avg" class="rateyo" data-rating="<?php echo $avg_rating; ?>" data-preset="true"></div>
$(".rateyo").each(function() {
var item = $(this);
item.rateYo({
rating: item.data('rating'),
readOnly: item.data('preset')
});
});