你如何使用jQuery写入跨度?

时间:2012-11-01 08:21:34

标签: javascript jquery ajax

我正在尝试使用jQuery在页面加载上填充<span></span>元素。

此时填充到span中的值只是一个整数计数。

我在这里命名了我的span userCount

<a href="#" class="">Users<span id = "userCount"></span></a>

我试图写下跨度的值但没有成功。

$(document).ready(function () {
    $.post("Dashboard/UsersGet", {}, function (dataset) {
        var obj = jQuery.parseJSON(dataSet);
        var table = obj.Table;

        var countUsers;
        for (var i = 0, len = table.length; i < len; i++) {
            var array = table[i];
            if (array.Active == 1) {
                  var name = array.Name;
            }
            countUsers = i;
        }
        userCount.innerHTML = countUsers.toString();
    });
});

6 个答案:

答案 0 :(得分:14)

您没有任何usercount变量。使用$(selector)构建一个jquery对象,您可以在其上调用html等函数。

 $('#userCount').html(countUsers);

另请注意

  • 您无需手动将整数转换为字符串。
  • 如果您没有脱离循环,countUsers将始终为table.length-1
  • 你有一个拼写错误:dataSet而不是dataset。 Javascript区分大小写。
  • 您无需解析请求的结果
  • 您不需要传递空数据:jQuery.post检查提供的参数的类型

所以,这可能更符合你的需要,假设你在循环中做其他事情:

    $.post("Dashboard/UsersGet", function (dataset) {
        var table = dataset.Table;
        var countUsers = table.length; // -1 ?
        // for now, the following loop is useless
        for (var i=0, i<table.length; i++) { // really no need to optimize away the table.length
            var array = table[i];
            if (array.Active == 1) { // I hope array isn't an array...
                var name = array.Name; // why ? This serves to nothing
            }
        }
        $('#userCount').html(countUsers);
    });

答案 1 :(得分:4)

使用.html()

<a href="#" class="">Users<span id = "userCount"></span></a>

由于您已为id分配了span,因此您可以在span和函数.html()的帮助下轻松填充id。< / p>

$("#userCount").html(5000);

或者在你的情况下:

$("#userCount").html(countUsers.toString());

答案 2 :(得分:1)

变化:

userCount.innerHTML = countUsers.toString();

为:

$("#userCount").html(countUsers.toString());

答案 3 :(得分:1)

而不是:

userCount.innerHTML = countUsers.toString();

使用:

$('#userCount').html(countUsers.toString());

答案 4 :(得分:0)

您可以使用

$('#userCount').text(countUsers);

将数据写入span

答案 5 :(得分:0)

回拨参数应该是dataSet而不是dataset