【问题标题】:Jquery returning NaN with span tagJquery返回带有span标签的NaN
【发布时间】:2013-11-03 15:52:50
【问题描述】:

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

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

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

【问题讨论】:

  • 您的代码需要包含在您的问题中。
  • 跨度没有值。如果您要查找存储在属性中的值,请使用 .attr 方法。此外,您从未实际设置 value 属性,因此它保持 ""

标签: jquery html css slider nan


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      试试这个:

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

      获取文本:

      $(this).text()
      

      代替:

      $(this).val()
      

      【讨论】:

        【解决方案4】:

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

        试试&lt;span class="rating" data-rating="5"&gt;&lt;/span&gt;

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

        $(this).data('rating')
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2015-03-03
          • 2012-11-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多