如何使用Jquery搜索元素

时间:2014-02-21 13:33:44

标签: javascript jquery html

我需要使用jQuery动态替换图像,并知道如何使用jQuery替换图像src值。

但我的主要挑战是找到<img>标记并获取其当前值,因为此HTML内容正在显示某些其他API并且不受我的控制。我可以添加的是外部id的{​​{1}}属性。

这是系统生成的当前HTML结构:

div

我的目标是找到src的值并用移动设备替换<div id="mysection" class="span-20"> <div class="row"> <img src="/*/desktop/*/images/404.jpg"> </div> </div> ,但我不确定如何使用jQuery找到它。所有我都知道jQuery的find方法,但不知道如何做到这一点。

desktop

给我未定义的

8 个答案:

答案 0 :(得分:2)

要使用img src值:

var srcVal = $( "#mysection" ).find( "img" ).attr('src');

要将桌面更改为移动使用:

$( "#mysection" ).find( "img").attr('src',srcVal.replace('desktop','mobile'));

DEMO

答案 1 :(得分:1)

尝试使用img

$( "#mysection" ).find( "img" ).attr('src')

答案 2 :(得分:1)

不要搜索attr搜索元素。您应该使用img选择器。并使用replace()将值从桌面更改为移动

尝试:

var src=$( "#mysection" ).find( "img" ).attr('src');
src=src.replace("desktop","mobile");
$( "#mysection" ).find( "img" ).attr('src',src);

DEMO

答案 3 :(得分:1)

试试这个:

$( "#mysection" ).find( "img" ).each(function(){
   var desktopSrc = $(this).attr('src');
   var mobileSrc = desktopSrc.replace("desktop","mobile");
   $(this).attr('src',mobileSrc);
});

它将在#section元素中找到任何img,并在每个源属性中将桌面替换为移动设备。

答案 4 :(得分:0)

试试这个:$( "#mysection" ).find( "img" ).attr('src')

答案 5 :(得分:0)

.find(selector)用于查找匹配selector的某个元素内的元素(匹配class,id,tag等)。在您的情况下,最简单的做法是给img id $('#myImageId').attr('src');img

修改

对不起,我没注意到你无法改变$('#mysection').find('img').attr('src');属性。在这种情况下,{{1}}应该这样做。

答案 6 :(得分:0)

使用.prop( propertyName, function(index, oldPropertyValue) )

Fiddle Demo

$("#mysection").find("img").prop('src', function (_, old) {
    return old.replace("desktop", "mobile");
});

.find()

答案 7 :(得分:0)

$("div#mysection img")

这将为您提供div中的所有img个元素。抓住它后,您可以使用.each对它们进行迭代并设置src。