这个有点不明吧

来源:1-3 实例JS+DOM

我要去幼儿园深造了

2016-06-10 21:02

请问为什么不用document.getElementsByTagName("img")而要写box.getElementsByTagName("img")

写回答 关注

1回答

  • 愤奋翁3305179
    2016-06-10 22:19:42

    首先 DOM层级结构式是获取到节点之后才能操作相关属性,所以用到getElementById()

    然后获得了这个节点之后,操作此节点下的img节点,所以是obox.。。。。。

    至于为什么不直接使用TagName这个是因为在面对大型项目的时候整个文档可能不只有这一处节点有img节点,比如这个是手机的img,下面还有衣服,鞋子等其他img,这个时候如果直接使用TagName就会获取这个文档的img,然后本来只想作用于手机img的行为也会同样作用于衣服鞋子上,而为了吧整个文档的img区分开来,所以在每段img外嵌套一个ID唯一的DIV节点,现货的相应的img段之上的唯一DIV节点,在获取DIV包含的img节点,就能很好区分开来了,当然对于视频中整个文档只有这一个IMG的时候,当然也可以直接使用img,但是只适用于视频中的简短案例,并不能代表最终的大型项目,所以即使案例中只有这一处IMG,为了说明问题和适用日后工作,最正确的选择就是使用ID先获取唯一性节点,然后在获取相应的img,给出行为即可!!!

DOM探索之基础详解篇

要知道前端大牛都是从精通DOM开始的,全面讲解DOM的基础知识

98372 学习 · 238 问题

查看课程

相似问题