0
$(function() {
   $.get('/viewonline',function(data) {
      var members = $('a.username');
      var location = $('a.location');
      var elems = $(data);
for (var i=0; i<members.length;i++) {
   var uname = members[i].text();
   var aname = members[i].href;
 $('.userlist_online').html('<a href="'+ aname +'">'+ uname +'</a>');
}
for (var j=0;j<location.length;j++) {
   var locaname= location[j].text();
   var locaaname = location[j].href;
 $('.userlist_views').html('<a href="'+ locaaname +'">'+ locaname +'</a>');
  }
 },'html');
});

上面的代码我试图遍历所有a hrefswith 和username的类location。所以上面的代码没有抛出任何错误,但它没有将任何数据发布到 div 中。

任何人都可以帮助我弄清楚我做错了什么?

4

1 回答 1

2

这是我对可行的猜测:

$(function () {
    $.get('/viewonline', function (data) {

        data = $(data);
        var members = data.find('a.username');
        var location = data.find('a.location');

        for (var i = 0; i < members.length; i++) {
            var uname = $(members[i]).text();
            var aname = members[i].href;
            $('.userlist_online').append('<a href="' + aname + '">' + uname + '</a>');
        }
        for (var j = 0; j < location.length; j++) {
            var locaname = $(location[j]).text();
            var locaaname = location[j].href;
            $('.userlist_views').append('<a href="' + locaaname + '">' + locaname + '</a>');
        }
    }, 'html');
});

修复完成:

  • 获取memberslocation通过在返回的数据中查找元素,而不是在当前文档中。
  • $()在调用之前包装元素text()
  • 填写列表时使用append而不是html
于 2013-03-28T02:56:23.300 回答