javascript - 文档.getElementsByTagName ("img");与 document.getElementById ('testimg' 相比);

标签 javascript

这是我的html

<a href="index.php"><img id="testimg"   src="images/logo.png"/></a>

这是我的javascript

function getW(){
    var theImg = document.getElementById('testimg');
    return theImg;
}

theImg = getW();

if (theImg.width > 119){
    document.write(theImg.width);
}

现在,当我使用这个脚本时,它会输出 img 宽度

但是当我使用这个脚本时

function getW(){
    var theImg = document.getElementsByTagName("img"); 
    return theImg;
}

theImg = getW();

if (theImg.width > 119){
    document.write(theImg.width);
}

它不输出任何东西。有什么区别,为什么第二个脚本会起作用?

谢谢!

最佳答案

因为 getElementsByTagName() 返回一组多个元素(注意元素)。您需要使用 [0] 来获得第一个匹配项。

另一方面,id 应该始终是唯一的,因此 getElementById() 返回对单个元素的引用。

关于javascript - 文档.getElementsByTagName ("img");与 document.getElementById ('testimg' 相比);,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5813317/

相关文章:

javascript - 如何使用pyqt评估javascript

javascript - 如何从返回模型的服务获取类函数

javascript - CSS 的这种使用会使我的网站受到攻击吗?

javascript - 需要解决 reportValidity()

javascript - 在 jQuery UI Datepicker 中跳转一周或一个月

javascript - 在 React 中将 D3 图表调整为父级

javascript - 错误类型错误 : Cannot set property 'product' of null

JavaScript div 创建

javascript - JQuery——阻止 .html() 值改变

javascript - Lodash 将对象数组转换为数组