javascript - 把取值存在数组中,用for循环往元素的innerHTML塞失败了,求热心的朋友帮我看下,非常感谢
阿神
阿神 2017-04-10 17:13:56
[JavaScript讨论组]

这是想要实现的图




    
    百度音乐
    
    


    
阿神
阿神

闭关修行中......

全部回复(2)
PHPz
window.onload = function () {
    var oUl = document.getElementById("music");
    var arrLi = oUl.getElementsByTagName("li");
    var oSpan = oUl.getElementsByTagName("span");
    var oI= oUl.getElementsByTagName('i');
    var arrCol = ["#F7FFFF","#fff"];
    var arrName = ["私奔","北京北京","我爱你中国","花火","回来","爱要有你才完美"];
    var arrSinger = ["梁博","梁博,黄勇","梁博","梁博","梁博","梁博,那英"];
    var len = arrName.length;
    var str = "";

    for(var i = 0; i < len; i++){
        str  += '<li><input type="checkbox"><i></i><span></span></li>';
    }
    oUl.innerHTML = str;
    for(var i = 0; i < len; i++){
        arrLi[i].style.backgroundColor = arrCol[i%arrCol.length];
    }
    for(var i = 0; i < len; i++) {
        oI[i].innerHTML = arrName[i];
        oSpan[i].innerHTML = arrSinger[i];
    }
}

这个是拿题主写的代码改正之后可以实现功能的。。

主要要注意的地方就是oUl.getElementsByTagName("span")[0]选中的是oUl中的第一个span标签,所以明显是不符合题主需求的,oUl.getElementsByTagName("span")是选中oUl中所有的span标签,然后再在循环中依次给span标签赋值即可。。其余同理。。

ringa_lee

oSpanoI应该是数组,不该是单个元素。

修改了四行代码,注释标明了。

window.onload = function () {
            var oUl = document.getElementById("music");
            var arrLi = oUl.getElementsByTagName("li");
            var oSpan = oUl.getElementsByTagName("span"); // delete [0]
            var oI = oUl.getElementsByTagName("i");  // delete [0]
            var arrCol = ["#F7FFFF","#fff"];
            var arrName = ["私奔","北京北京","我爱你中国","花火","回来","爱要有你才完美"];
            var arrSinger = ["梁博","梁博,黄勇","梁博","梁博","梁博","梁博,那英"];
            var len = arrName.length;
            var str = "";

            for(var i=0;i<len;i++){
                str  += '<li><input type="checkbox"><i></i><span></span></li>';
            }
            oUl.innerHTML = str;
            for(var i=0;i<len;i++){
                arrLi[i].style.backgroundColor = arrCol[i%arrCol.length];
            }
            for(var i=0;i<len;i++) {
                oI[i].innerHTML = arrName[i]; // change oI -> oI[i]
                oSpan[i].innerHTML = arrSinger[i]; // change oSpan -> oSpan[i]
            }
        }
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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