老师,这里for循环之后输出的为什么没有了之前的五个li?

老师,这里for循环之后输出的为什么没有了之前的五个li?

这里为什么会只输出for循环之后的五个li ?

http://img1.sycdn.imooc.com//climg/60b8e18e0986b67810730842.jpg

而这里是把for循环之后的加进来了呢?

http://img1.sycdn.imooc.com//climg/60b8e2e40986583609630737.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,对于你的问题解答如下:

1、理解有误,结合下图注释理解:

http://img1.sycdn.imooc.com//climg/60b988cd09b5e3d207380470.jpg

因为querySelectAll方法只能获取html结构中一开始就有的元素,后面通过js添加的元素是无法获取的,所以案例代码中在循环添加li元素之前和之后输出的都是一开始的五个li元素,如下:

http://img1.sycdn.imooc.com//climg/60b98930096dd82512440652.jpg


2、因为getElementsByTagName获取元素是动态的,也就是说后面通过js添加的元素也可以被获取到,所以最后循环添加的五个li元素,也可以获取,输出到控制台中。

祝学习愉快~

  • 廖可爱bongbong 提问者 #1

    http://img1.sycdn.imooc.com//climg/60b9a703094435f409110411.jpg

    哈哈,这个应该是querySelectorAll吧,明白了呢,谢谢老师

    2021-06-04 12:08:06
  • 同学你好,确实应该是querySelectorAll,是老师不小心写错了,非常感谢同学指出来,老师以后会更加仔细一点的,祝学习愉快~

    2021-06-04 15:00:28
  • https://img1.sycdn.imooc.com//climg/6393f67c09f890e509060561.jpg

    如果在输出之前再用这句话再获取一次呢,是不是就是10个了?

    2022-12-10 11:02:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师