javascript - 用getElementsByTagName和getElementById获取该元素的属性为什么效果不一样?
怪我咯
怪我咯 2017-04-10 17:28:48
[JavaScript讨论组]

HTML代码

Amy

js代码

     function showPic(whichpic){
        var source = whichpic.getAttribute("href");
        var placeholder = document.getElementById("placeholder");
        placeholder.setAttribute("src",source);
     }

把js代码里第三行document.getElementById("placeholder")换成document.getElementsByTagName("img")
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
黄舟

想换成getElementsByTagName获取那个img节点的话,应该改成document.getElementsByTagName("img")[0],因为getElementsByTagName("img")获取到的是img节点数组。

巴扎黑

document.getElementsByTagName("img")返回的是document中标签名为img的合集,如果你想换需要写为document.getElementsByTagName("img")[0]

伊谢尔伦

通过getElementsByTagName获取到的是个元素集合,你可以把它看成一个数组,然后通过下标的方式选择你需要的目标元素。不管元素有多少个,它都得通过下标的方式去选择。例如:document.body.getElementsByTagName("p")[0],这段代码它明确的告诉程序,要找的元素是body里面第一个p元素。

伊谢尔伦

通过getElementById获得的是一个元素,而getElementsByTagName获得的是一个集合,比如getElementsByTagName("img")得到的是所有标签为img的数组集合。可以通过下标方法getElementsByTagName("img")[i]来获取每一个img

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

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