我试图找出没有&#34;样式&#34;的<img>
元素的数量。使用 JavaScript 。
我的解决方案:找出<img>
代码的数量为&#34; imgCount &#34;,然后获得<img>
代码的数量为&#34;样式& #34;属性为&#34; imgStyCount &#34;。之后,使用&#34; imgCount &#34;减去&#34; imgStyCount &#34;得到我想知道的最终结果。
然而,出了点问题。我的浏览器告诉我
TypeError:document.getElementsByTagName(...)[K] .hasAttribute不是函数
在if语句中。 奇怪的是, 警报(document.getElementsByTagName(&#34; img&#34;)[k] .hasAttribute(&#34; style&#34;) 显示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;
&#13;
<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" />
&#13;
答案 0 :(得分:2)
这是一种不使用循环的简单方法。
您可以将querySelectorAll
与attribute selector
document.querySelectorAll('img[style]')
将选择包含<img>
属性的所有style
元素。
var result = document.querySelectorAll('img').length - document.querySelectorAll('img[style]').length;
alert(result);
&#13;
<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" />
&#13;
答案 1 :(得分:1)
使用
for-loop
来迭代image
元素而不是for-in
var imgStyCount = 0;
var elems = document.getElementsByTagName("img");
for (var k = 0; k < elems.length; k++) {
if (elems[k].hasAttribute("style")) {
imgStyCount++;
}
}
var result = elems.length - imgStyCount;
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" />
答案 2 :(得分:0)
SET NOCOUNT ON;
SET CONCAT_NULL_YIELDS_NULL OFF;
CREATE TABLE ##QueryResults (foo int);
SELECT OBJECT_ID ('tempdb..##QueryResults');
IF OBJECT_ID ('tempdb..##QueryResults') IS NOT NULL
DROP TABLE ##QueryResults;
SELECT OBJECT_ID ('tempdb..##QueryResults');
GO
SET CONCAT_NULL_YIELDS_NULL ON;
CREATE TABLE ##QueryResults (foo int);
SELECT OBJECT_ID ('tempdb..##QueryResults');
IF OBJECT_ID ('tempdb..##QueryResults') IS NOT NULL
DROP TABLE ##QueryResults;
SELECT OBJECT_ID ('tempdb..##QueryResults');