你如何使用jQuery写入跨度?

Pom*_*ter 4 javascript ajax jquery

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

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

我在这里命名了我的span userCount:

<a href="#" class="">Users<span id = "userCount"></span></a>
Run Code Online (Sandbox Code Playgroud)

我试图写出跨度的值没有成功.

$(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();
    });
});
Run Code Online (Sandbox Code Playgroud)

Den*_*ret 14

你没有任何usercount变量.使用$(selector)建立一个jQuery对象,你可以调用功能,如HTML.

 $('#userCount').html(countUsers);
Run Code Online (Sandbox Code Playgroud)

另请注意

  • 您不需要手动将整数转换为字符串.
  • 如果你不打破循环,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);
    });
Run Code Online (Sandbox Code Playgroud)