27

我有很多图像元素,并且想要获取替代文本为"example"的特定图像的来源。

我试过这个:

var src = $('.conversation_img').attr('src');

但我无法得到我需要的那个。

如何根据替代文本选择特定的图像元素?

4

4 回答 4

55

要选择只知道属性值的元素,可以使用下面的 jQuery 脚本

var src = $('.conversation_img[alt="example"]').attr('src');

请参阅jQuery 文档以获取属性等于选择器

也请参考Demo中的例子

以下是您无法访问演示的代码..

HTML

<div>
    <img alt="example" src="\images\show.jpg" />
    <img  alt="exampleAll" src="\images\showAll.jpg" />  

</div>

脚本查询

var src = $('img[alt="example"]').attr('src');
alert("source of image with alternate text = example - " + src);


var srcAll = $('img[alt="exampleAll"]').attr('src');
alert("source of image with alternate text = exampleAll - " + srcAll );

输出将是

两个警报消息,每个都有值

  1. 带有替代文本的图像源 = 示例 - \images\show.jpg
  2. 带有替代文本的图像源 = exampleAll - \images\showAll.jpg
于 2012-05-15T10:36:19.113 回答
7
$('img.conversation_img[alt="example"]')
    .each(function(){
         alert($(this).attr('src'))
    });

这将显示 alt='example' 类“conversation_img”的所有图像的 src 属性

于 2012-05-15T10:41:08.940 回答
2
var src = $('img.conversation_img[alt="example"]').attr('src');

如果您有多个匹配元素,则只会返回第一个的 src。

于 2012-05-15T10:34:55.010 回答
0

如果您并不特别需要图像的替代文本,那么您可以只定位图像的类/ID。

$('img.propImg').each(function(){ 
     enter code here
}

我知道它并没有完全回答这个问题,尽管我花了很长时间试图弄清楚这个问题,这个问题给了我解决方案:)。在我的情况下,我需要隐藏任何带有特定 src 的图像标签。

$('img.propImg').each(function(){ //for each loop that gets all the images. 
        if($(this).attr('src') == "img/{{images}}") { // if the src matches this
        $(this).css("display", "none") // hide the image.
    }
});
于 2017-04-16T11:50:09.100 回答