javascript - 这段代码有什么问题?只有第一个循环实现了
PHP中文网
PHP中文网 2017-04-10 15:09:45
[JavaScript讨论组]

第一题您选择的是

  • 哈哈
  • 呵呵
  • 嘿嘿
  • 吼吼

第二题您选择的是

  • java
  • ios
  • Android
  • php
  • jquery
    window.onload = function(){
    var aLi = document.getElementById('choose1').getElementsByTagName('li');
    var bLi = document.getElementById('choose2').getElementsByTagName('li');    
    for(var i = 0;i<=aLi.length;i++){
        aLi[i].onclick = function(){
            var aTxt = this.innerHTML;
            document.getElementById('ss').innerHTML = aTxt;
        }
    }
    for(var j = 0;j<=bLi.length;j++){
        bLi[j].onclick = function(){
            var bTxt = this.innerHTML;
            document.getElementById('cc').innerHTML = bTxt;
        }
    }   
    }

我想把两道题的选择结果都打印到响应的位置,但每次只能打印上第一题,把第一题注释掉,第二题才可以打印上,是逻辑上 有什么问题么?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(4)
黄舟

<=换成<就正常了。
length获取的是数组长度,但是下标是从0开始的,所以最后一个元素的下标是length-1。因此是<而不是<=

巴扎黑

应该是下标越界报错了,然后后面的代码就被阻塞了,2个for循环中的<=改为<

阿神

代码有错。

for(var i = 0;i<=aLi.length;i++){

应该改成

for(var i = 0;i<aLi.length;i++){

bLi同理。
以后应该注意这些容易犯的错误~

迷茫

啊,多了个 =

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

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