0

我正在开发 VS2010 asp.net MVC 项目并使用以下 jQuery 调用动态更改图像/图标。

<div class="icon-button"><img src="~/Images/Umark_Icon.png" class="image-class" /></div>


<script>
$(document).on("click", ".iconl-button", function () {
       $(this).find('img').attr("src", "~/Images/Mark_Icon.png");
 });
</script>

或者相反,我也尝试过

$(this).html('<img src="~/Images/Mark_Icon.png" class="image-class"/>');

如果图像 src 或整个图像用“~/image_path”替换为相对路径,则它不适用于波浪号。

它仅适用于“../image_path”。

它不适用于“../../image_path”,我相信但不确定是由于图像文件夹的深度。

最后,我希望它与我认为最适合这种情况的“~/”选项一起工作。

请有关该主题的任何评论,建议和演示对我很有帮助。

谢谢。

4

2 回答 2

1

~/不是有效的 URL 路径。路径要么是绝对 URL,要么是相对 URL,才能在图像标签中发挥作用。据我所知,您有以下选择:

/foo- 相对于主机的根目录

foo./foo- 相对于当前 URL

//host.com/fooprotocol://host.com/foo- 绝对 URL

http://url.spec.whatwg.org/

于 2014-01-02T21:12:46.157 回答
0
 var ImageURL = '<%=ResolveClientUrl("~/Images/Mark_Icon.png")%>';
 $(this).find('img').attr('src', ImageURL );
于 2014-01-02T21:10:21.577 回答