使用/ jQuery替换带有img元素的图像链接

时间:2011-04-05 03:28:53

标签: jquery

使用jQuery,我试图用 img 元素替换某个div中的图像(.jpg,.png,.tiff,.gif)的所有链接,以显示图像而不是链接它。

EG。它会改变

<a href="http://domain.com/image.jpg">Any Text Here</a>

<img src="http://domain.com/image.jpg"/>

提前非常感谢你:)

2 个答案:

答案 0 :(得分:2)

$('a.img').each(function(){
    //assuming they have the image class
    var img = $('<img>',{src: this.href});
    $(this).replaceWith(img);
});

尝试^ _ ^

<强>更新

如果所有图像都没有相同的类:

$('a').each(function(){
    var ext = getfileextension(this.href);
    switch(ext){
        case '.gif':
        case '.png':
        case '.jpg':
            var img = $('<img>',{src: this.href});
            $(this).replaceWith(img);
            break;
    }

});
function getfileextension(filename) 
{ 
    var dot = filename.lastIndexOf("."); 
    if( dot == -1 ) return ""; 
    var extension = filename.substr(dot,filename.length); 
    return extension; 
} 

看到这个小提琴:http://jsfiddle.net/maniator/3pXEm/

答案 1 :(得分:2)

更简单的Neal's answer版本,使用Attribute Ends With selectors

$("a[href$='.png'], a[href$='.jpg'], a[href$='.tiff'], a[href$='.gif']").each(function() {
    var img = $('<img>',{src: this.href});
    $(this).replaceWith(img);
});