繁体   English   中英

jQuery返回[object Object]

[英]jquery returns [object Object]

关于我现在已经处理很长时间的问题,我有一个小问题:我有一个HTML,其中显示了存储在h2db中的项目列表。 这些项目正确显示。

<tr th:each="item : ${list}">
  <td th:text="${item.getActualcost()}" id="actualcost">Actual Cost</td>
</tr>

我现在想在此列表中添加另一列,以显示进度条。

我将此代码添加到HTML部分:

<div class="container">
  <div class="col-md-4">
    <div class="progress">
          <div id="progressPlaceholder"></div>
    </div>

脚本部分如下所示:

<script>
    var rank=$('actualcost'),place=4;
    var progress = '<div class="progress-bar" role="progressbar" aria-valuenow="'+rank+'" aria-valuemin="0" aria-valuemax="100" style="width: '+rank+'%;"><span class="show" id="totalUsers">Ranked '+place+' of '+rank+'</span></div>';
    $('#progressPlaceholder').empty().append(progress);
</script>

问题是,进度条没有正确填写。 因此,我尝试通过添加“ + rank +”来找出其价值。 不幸的是,我只打印出[object Object]。 有人可以帮我解决这个问题吗? 该值应为int。

排名是一个对象。

console.log(rank) 

应该给你对象,然后使用适当的密钥。 它可能看起来像:

rank['value']//just an example

当您使用jQuery获得一个元素时,您将获得一个jQuery集合,它又是一个对象。

var rank = $('actualcost')

请注意,上面假设您有一个类似<actualcost></actualcost>的元素,您可能没有。

即使找不到元素,只需调用$()返回一个对象。

对象字符串表示始终是[object Object]

当您连接对象和字符串时,您将获得对象字符串表示形式,即...等待它...始终[object Object]

var str = 'something something' + $('actualcost');

// str === 'something something[object Object]'

这正是代码中发生的情况

var rank=$('actualcost'),place=4;
var progress = '<div class="progress-bar" role="progressbar" aria-valuenow="'+rank+' ....

你可能想要

var rank = $('#actualcost').text() ,place=4;

取决于HTML的实际外观(我不知道Thymeleaf)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM