gpt4 book ai didi

javascript - 使用 hasAttribute() 得到 TypeError : hasAttribute is not a function

转载 作者:行者123 更新时间:2023-11-28 18:39:38 26 4
gpt4 key购买 nike

我尝试找出 <img> 的数量使用 JavaScriptHTML 文件中添加没有“style”属性的元素。

我的解决方案:找出 <img> 的编号标记为“imgCount”,然后获取 <img> 的数量“style”属性为“imgStyCount”的标签。之后,使用“imgCount”减去“imgStyCount”即可得到我想知道的最终结果。

但是,出了点问题。我的浏览器一直告诉我

TypeError: document.getElementsByTagName(...)[K].hasAttribute is not a function

在 if 语句中。奇怪的是,alert(document.getElementsByTagName("img")[k].hasAttribute("style")显示if语句结果为TRUE。它怎么能像不是一个函数一样给出真实的值呢?

var imgCount = 0;

var imgStyCount = 0;

var result;

for (k in document.getElementsByTagName("img")) {

if (document.getElementsByTagName("img")[k].hasAttribute("style") == true) {

alert(document.getElementsByTagName("img")[k].hasAttribute("style"));

console.log(" <img> =: ", document.getElementsByTagName("img")[k].style);

imgStyCount++;

}

imgCount++;

}
result = imgCount - imgStyCount;
<img height="150px" src="Http://flax.nzdl.org/images/ngf.jpeg" style="vertical-align:middle;margin-right:20px;" />
<img src="Http://flax.nzdl.org/images/abc.jpg" />
<img src="Http://flax.nzdl.org/images/fbc.jpg" />
<img src="Http://flax.nzdl.org/images/agc.jpg" />
<img src="Http://flax.nzdl.org/images/abt.jpg" />

最佳答案

这是一种不使用循环的简单方法。

您可以使用 querySelectorAll attribute selector

document.querySelectorAll('img[style]')将选择所有 <img>页面上的元素具有 style属性。

var result = document.querySelectorAll('img').length - document.querySelectorAll('img[style]').length;

alert(result);
<img height="150px" src="Http://flax.nzdl.org/images/ngf.jpeg" style="vertical-align:middle;margin-right:20px;" />
<img src="Http://flax.nzdl.org/images/abc.jpg" />
<img src="Http://flax.nzdl.org/images/fbc.jpg" />
<img src="Http://flax.nzdl.org/images/agc.jpg" />
<img src="Http://flax.nzdl.org/images/abt.jpg" />

关于javascript - 使用 hasAttribute() 得到 TypeError : hasAttribute is not a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36348342/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com