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/fooまたはprotocol://host.com/foo- 絶対 URL

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

于 2014-01-02T21:12:46.157 に答える