我一直试图让我的if语句工作,但我找不到解决方案。感谢。
<div class="imgContain">
<img class="finalimg" alt="link" src="website.com/imga546.jpg">
<img class="finalimg" alt="green" src="website.com/imga645.jpg">
<img class="finalimg" alt="cap" src="website.com/imga6786.jpg">
<img class="finalimg" alt="sarge" src="website.com/imga31234.jpg">
</div>
伪代码
jQuery if(something = to any of my alt attributes){do...}
//altattr is equal to an attribute that may match the alt attribute
ex:if('link' == $('img[class="finalimg"]').attr('alt'))
if(altattr == $('img[class="finalimg"]').attr('alt')){
//do stuff
}
我必须先选择imgContain类来使这项工作正常吗? 我知道这只适用于我的第一个元素,但我试图让if语句先工作。
答案 0 :(得分:1)
当你甚至不需要修复if语句时,你太忙了。
$('.finalimg[alt="link"]').doSomething();
或
$('.finalimg[alt="link"]').each(function(){
// do something with this...
$(this).doSomething();
});
并使用变量代替“link”,使用字符串连接。
$('.finalimg[alt="' + altattr + '"]').doSomething();
答案 1 :(得分:0)
看看这个 - http://jsfiddle.net/jayblanchard/m4Lk6/
if(0 != $('img[class="finalimg"][src="website.com/imga546.jpg"]').length) {
$('body').append('<div>I found the image!</div>');
}
我在这里测试是否存在具有适当类和源的图像元素。如果存在则其长度为1,否则为0。
编辑:基于以下事实做出改变:如果页面中存在多个这样的选择器,则选择器可以返回大于1的数字。
答案 2 :(得分:0)
这将使用类finalimg
循环遍历所有图像,并且一旦找到一个匹配(在本例中为最后一个img),它将发出警告的altattr
变量。
var altattr = 'sarge';
$("img[class='finalimg']").each( function(index, element){
if(altattr == $(this).attr('alt')){
alert("found");
}
});
答案 3 :(得分:0)
如果没有任何长度为零,您可以尝试使用指定的alt属性选择图像。
if($('img[class="finalimg"][alt="' + altattr + '"]').length > 0){
//do stuff
}
这与使用类选择器相同:
if($('img.finalimg[alt="' + altattr + '"]').length > 0){
//do stuff
}