我正在编写一个脚本来检测网页上是否存在图像。这是本节的html标准格式。如果不图像,则看起来像
<div id="photo" style="display: none;">
<img id="image" src="IMAGESOURCE" onerror="img2txt()" alt="">
</div>
如果是存在的图像相同的html看起来像这样
<div id="photo">
<img id="image" src="IMAGESOURCE" onerror="img2txt()" alt="">
</div>
现在在脚本中我正在使用它,这不起作用(或者我不会在这里:D)
var images = ($('#photo[style*="display: none"]').length === 0 ? false : true);
if (images) {
$('#yes[value="Yes"]').click();
}
else {
$('#no[value="No"]').click();
}
(点击是针对我根据此图片查询填写的表单上的单选按钮)
截至目前,if / else语句正在给广播“No”点击一个应该是肯定的页面。我尝试过使用
if (!images) {
$('#yes[value="Yes"]').click();
}
else {
$('#no[value="No"]').click();
}
只是为了看看我的布尔值是否不正确。但是,通过这种调整,它恰好相反。任何帮助深表感谢。感谢
答案 0 :(得分:1)
所以当不存在时总是display:none
? jQuery有:visible
的特定选择器。
var present = $("#photo").is(":visible");
答案 1 :(得分:1)
要确定图像是否可见:
<div id="mybox"></div>
参考您自己发布的代码,您可以使用:
$('#image:visible').length;
或者,避免使用不必要的属性选择器(假设var imageVisible = $('#image:visible').length,
toClick = imageVisible ? 'yes' : 'no';
$('#' + toClick + '[value=' + toClick + ']').click();
是唯一标识符:
id
参考文献: