0

我正在尝试使用一个非常简单的平均系统,但无论出于何种原因,Jquery 都不会从跨度标签返回值。

<span class="rating"></span>

这是我的小提琴。 http://jsfiddle.net/uTuYH/1/

4

4 回答 4

1

如果有的话,你应该使用数据属性。您将 value 应用于不标准支持的元素,或者我应该说这是非常规的使用,因为从技术上讲它可能有效,但更广泛接受的做法可能先于在 span 标签上使用 value。特别是因为数据属性存在并且受支持。

尝试<span class="rating" data-rating="5"></span>

然后在您的评级功能中访问

$(this).data('rating')
于 2013-10-24T19:08:29.863 回答
0

您获得的值不是 html 输入,因此您不能使用.val(),请.text()改用:

var ratingValue = parseInt($(this).text(), 10);

http://jsfiddle.net/uTuYH/11/

于 2013-10-24T19:13:58.733 回答
0

尝试这个:

          $(".rating").each(function () {
              var ratingValue = parseInt($(this).text(), 10);
              total = total + ratingValue;
              console.log(ratingValue);
          });

获取文本:

$(this).text()

代替:

$(this).val()
于 2013-10-24T19:10:58.363 回答
0

div 没有名为“值”的属性。您需要使用 .text() 或 .html()

var ratingValue = parseInt($(this).text(), 10);

或者

var ratingValue = parseInt($(this).text(), 10);
于 2013-10-24T19:20:31.603 回答