我尝试使用JavaScript找出HTML文件中<img>没有“样式”属性的元素的数量。
我的解决方案:找出<img>标签数为“ imgCount ”,然后获取<img>“style”属性为“ imgStyCount ”的标签数。之后,使用“ imgCount ”减去“ imgStyCount ”得到我想知道的最终结果。
但是,出了点问题。我的浏览器一直告诉我
类型错误:document.getElementsByTagName(...)[K].hasAttribute 不是函数
在 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;Run Code Online (Sandbox Code Playgroud)
<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" /> …Run Code Online (Sandbox Code Playgroud)