javascript - 用ajax从服务器获取列表数据,为什么getElementsByTaName('li')的长度为0呢
伊谢尔伦
伊谢尔伦 2017-04-10 15:45:05
[JavaScript讨论组]

是获取后端json数据

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(6)
黄舟

从后端获取数据和getElementsByTagName有啥关系,还有。。要贴代码

PHP中文网

bytag吧

阿神

代码贴出来看看

PHP中文网

得等到加入DOM后才能操作吧,还有你是不是提前获取了DOM元素?比如列表是一个ID为1的p,在ajax获取完后加进DOM后要重新获取1,你在Ajax前的1只包含Ajax前的DOM结构。

巴扎黑

我的意思是 从服务器端获取数据然后创建节点;但是不能得到这些节点,在所有文本都加载完成后还是不能,列表已经在页面显示了

代码如下
ajax({

method : 'get',
url : 'http://study.163.com/webDev/couresByCategory.htm',
data : {
    'pageNo':'1',
    'psize':'20',
    'type':'10'
},
success : function (data) {
    console.log(data);
    var _data= JSON.parse(data);

    var op = document.getElementById("courseList");

    for(i=0;i<_data.list.length;i++){
        var oLi = document.createElement("li");
        op.appendChild(oLi);

        var _img = document.createElement("img");
        var _name = document.createElement("p");
        var _provider = document.createElement("p");
        var _count = document.createElement("p");
        var _price = document.createElement("p");

        _img.setAttribute("src", _data.list[i].middlePhotoUrl);
        _name.innerHTML=_data.list[i].name;
        _provider.innerHTML=_data.list[i].provider;
        _count.innerHTML=_data.list[i].learnerCount;
        _price.innerHTML="&yen;"+_data.list[i].price;

        oLi.appendChild(_img);
        oLi.appendChild(_name);
        oLi.appendChild(_provider);
        oLi.appendChild(_count);
        oLi.appendChild(_price);
       
        _name.setAttribute('class','courseName');
        _provider.setAttribute('class','courseProvider');
        _count.setAttribute('class','peopleCount');
        _price.setAttribute('class','coursePrice');
    }
},
async : true

});

大家讲道理

既然是异步的……那么你只能在success的回调里面选择元素吧。在你贴出来的代码里我好像没看到……?
提供一个思路:在你的document.getElementByTagName之前打个alert阻止脚本运行,看看你的列表有没有显示出来……如果显示出来了,那就妥妥的是灵异事件了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号