我有一个asp.net mvc项目,以及一个基于url参数流出图像的函数。喜欢:/ Image / 40/100/50使用ImageID 40,100px宽和50px高流出图像。
有没有办法改变:
<img class="image" src="/Content/View?fileID=31" style="width: 500px; height: 100px; " />
要:
<img class="image" src="/Image/31/500/100" style="width: 500px; height: 100px; " />
以某种奇特的方式? /拉塞
答案 0 :(得分:3)
我不确定我理解你为什么要这样做,但是下面的内容应该可以解决这个问题:
$("img[src^='/Content/View?fileID=']").each(function() {
var img = $(this);
var id = img.attr("src").substring(21);
img.attr("src", "/Image/" + id + "/" + img.width().toString() + "/" + img.height().toString());
});
链接到示例:http://jsfiddle.net/Cfdfp/2/
此外,如果您只将image
类应用于需要此转换的img元素,则可以简化上面的选择器:
$(".image").each(function() {
var img = $(this);
var id = img.attr("src").substring(21);
img.attr("src", "/Image/" + id + "/" + img.width().toString() + "/" + img.height().toString());
});
答案 1 :(得分:1)
这个怎么样:
$('img').each(function() {
var $this = $(this),
id = $this.attr('src').substr($this.attr('src').indexOf('=')+1),
wid = $this.width(),
hgt = $this.height();
$this.attr('src','/Image/'+id+'/'+wid+'/'+hgt);
});