我正在尝试使用一个非常简单的平均系统,但无论出于何种原因,Jquery 都不会从跨度标签返回值。
<span class="rating"></span>
这是我的小提琴。 http://jsfiddle.net/uTuYH/1/
如果有的话,你应该使用数据属性。您将 value 应用于不标准支持的元素,或者我应该说这是非常规的使用,因为从技术上讲它可能有效,但更广泛接受的做法可能先于在 span 标签上使用 value。特别是因为数据属性存在并且受支持。
尝试<span class="rating" data-rating="5"></span>
然后在您的评级功能中访问
$(this).data('rating')
您获得的值不是 html 输入,因此您不能使用.val()
,请.text()
改用:
var ratingValue = parseInt($(this).text(), 10);
尝试这个:
$(".rating").each(function () {
var ratingValue = parseInt($(this).text(), 10);
total = total + ratingValue;
console.log(ratingValue);
});
获取文本:
$(this).text()
代替:
$(this).val()
div 没有名为“值”的属性。您需要使用 .text() 或 .html()
var ratingValue = parseInt($(this).text(), 10);
或者
var ratingValue = parseInt($(this).text(), 10);