如何将所有ul> li>元素的src文本“web”替换为“mobile”? 想将“img / web1.png”更改为“img / mobile1.png”,将“img / web2.png”更改为“img / mobile2.png”,将“img / web7.png”更改为“img / mobile7.png” “等等。
<div class="col-md-2">
<center><a href="#"><div class="img-circle" id="circle2">Mobile</div></a></center>
<br/>
</div>
<div id = "wrapper">
<ul id = "portfolio">
<li><img class="img-thumbnail" src="img/web1.png" alt = "img"/></li>
<li><img class="img-thumbnail" src="img/web2.png" alt = "img"/></li>
<li><img class="img-thumbnail" src="img/web3.png" alt = "img"/></li>
<li><img class="img-thumbnail" src="img/web4.png" alt = "img"/></li>
<li><img class="img-thumbnail" src="img/web5.png" alt = "img"/></li>
<li><img class="img-thumbnail" src="img/web6.png" alt = "img"/></li>
<li><img class="img-thumbnail" src="img/web7.png" alt = "img"/></li>
<button id="zoom" type="button" class="btn btn-info">
<span class="glyphicon glyphicon-search"> Zoom </span>
</button>
</ul>
</div>
$("#circle2").click(function(){
$("#portfolio>li").first().children("img").attr("src","img/mobile1.png");
});
答案 0 :(得分:3)
对于所有src
,这会将#portfolio>li>img
文件名中的所有字符替换为带有“移动”的第一个数字(根据您的评论):
$("#portfolio>li>img").each(function() {
$(this).attr("src", $(this).attr("src").replace(/[^\/]*?(?=\d*\.png)/, "mobile"));
});
答案 1 :(得分:1)
您可以遍历li
元素,找到img
元素并在replace
属性上执行src
。
$(document).ready(function () {
$("#circle2").click(function () {
// Loop through all li elements in the
// element with the id of portfolio
$("#portfolio").find("li").each(function () {
// Find the image tag
var img = $(this).find("img");
// Update the src property to the same thing,
// replacing web with mobile
img.prop("src", img.prop("src").replace("web", "mobile"));
}); // end li loop
}); // end change stuff click event
}); // end doc ready
您可以看到有效的JSFiddle here