使用 jQuery 获取图像 src

Posted

技术标签:

【中文标题】使用 jQuery 获取图像 src【英文标题】:Get image src with jQuery 【发布时间】:2011-10-20 14:21:30 【问题描述】:
<img src="../img/arnold.png" >

如何使用 jQuery 获取此图像的绝对路径?

img.attr("src") 只给我“../img/arnold.png”,应该给我类似“http://site.com/data/2011/img/arnold .png”(完整网址)。

【问题讨论】:

这取决于你如何在image src中分配图像路径。 【参考方案1】:

在 jQuery 中给出当前点击的图片源

jQuery(document).ready(function($)
$('body').on('click','img',function()
                alert('it works');
                var imgsrc=$(this).attr('src');
                alert(imgsrc);
);
);

【讨论】:

【参考方案2】:

我不知道你可以用 jQuery 来获取它,但是你可以只用原生 javascript 图像对象来获取它。

var getSrc = function(imgSource) 
    var img = new Image();
    img.src = imgSource;
    return img.src;
;

只需使用x = getSrc(srcAttribute) 或类似名称调用它,其中您的参数是保存您当前在html/图像中的src 的字符串或文字。它会返回类似http://your/site/path/to/image.jpg

http://jsfiddle.net/BradleyStaples/cQMjQ/

【讨论】:

嗯...效率不是很高,与accepted answer 相比,但它是一种新颖的方法!【参考方案3】:
alert( $('img')[0].src );

这可能会奏效...但不确定跨浏览器...

demo in here

也可以试试 jQuery 1.6 的 prop..

alert( $('img').prop('src') );

demo here

【讨论】:

+1 这非常简洁 - Steve 这看起来是我的正确答案 很好的答案。如果我想要页面中所有图像的 src,我应该怎么做? @V15HMAY:你可以像这样使用.map()...jsfiddle.net/reigel/caVYd/109查看该示例链接上的控制台...map()

以上是关于使用 jQuery 获取图像 src的主要内容,如果未能解决你的问题,请参考以下文章

使用 jQuery Ajax 请求交换图像 src

jquery中的图像源更改事件

jquery在src更改后获取图像宽度

使用 jQuery 的图像绝对源路径

如何使用 jQuery 设置图像 src

在jQuery中获取图像的原始宽度和高度