使用attr函数替换属性

时间:2012-11-15 10:35:56

标签: javascript jquery html css

 <div>
     <a id="_a-link" href=""><img src="/local/img/image1.png" alt=""/></a>
 </div>

对于该图像链接,我尝试使用以下jquery代码将其图像源属性更改为

 <div>
     <a id="_a-link" href=""><img src="/local/img/image2.png" alt=""/></a>
 </div>


$('#_a-link img').attr('src','');
$('#_a-link img').attr('src','/local/img/image2.png');

然而,显示的图像仍然是相同的;它是image1.png而不是image2.png;

3 个答案:

答案 0 :(得分:6)

你有一个错字:

$('#_a-link img').attr('src','');
$('#_a-link img').attr({'src':'/local/img/image2.png', 'alt': ''});

你也选择了错误。 AFAIK,“#ID TAGNAME”选择器工作时间很长。他们将得到所有的img,然后将每个人走到楼上的DOM,找到一个带ID的节点。您最好在需要的图像中添加一些类,或者如果它是单用图像ID。

所以最佳的优化方式是:

<a whatever here><img src="#" class="imgClass" /></a>
$(".imgClass");

答案 1 :(得分:0)

您发布的代码使用scr;它应该是src

 <div><a id="_a-link" href=""><img src="/local/img/image2.png" alt=""/></a>
 </div>

$('#_a-link img').attr('src','/local/img/image2.png');

您首先不需要将其空白,alt应该是一个单独的调用(如果您也需要更改它)。

编辑(基于以下评论):

这是一个使用此代码的jsFiddle:http://jsfiddle.net/h4tf6/

正如你所看到的,它运作得很好。如果您遇到问题,代码中的其他地方很可能会出现错误。

答案 2 :(得分:0)

试试这个:

$('#_a-link img').attr("src").replace("/local/img/image1.png", "/local/img/image2.png");