我正确地添加了一个带有以下代码的img标签,但它只显示为网页上带有X的小盒子。为了测试,我在网页中添加了相同的img标记。显示很好。我查看了开发人员工具(PF12)中的两个img标签,页面上的标签是相同的。我的想法是在jQuery中我在安排了所有内容的http请求之后加载了图像标记,所以我得到了标记,但是在浏览器的处理过程中为了获取请求的源文件已经太晚了加载。我试图在页面的第一个显示上加载不同的图像(取决于隐藏输入字段的内容 - 访问它并根据我插入的一些警报确定哪个图像工作正常)。
这是插入图像的代码(在我解决这个问题时删除了决策):
$(document).ready (function() {
$('<img class="rcpt" src="~/Images/MountainCrs_Incline.png" alt="" />').appendTo('div#Logo');
});
这是插入的img标签,它只显示“未解析的参考”框(从生成的html中复制):
<div id="Logo"><img class="rcpt" alt="" src="~/Images/ChampCrs_Incline.png"></div>
这是我插入到原生html中的img标签,用于验证img标签的格式是否正确(这个显示正常):
<h3> </h3>
<img class="rcpt" alt="" src="/Images/ChampCrs_Incline.png">
<h3> </h3>
如果有人能告诉我发生了什么以及如何解决这个问题,我会非常感激。我正在使用Visual Studio 11和IE10进行测试。 Thankx ...
答案 0 :(得分:4)
这不是有效的客户端网址
~/Images/MountainCrs_Incline.png
这在服务器端解析为有效的URL但在客户端没有意义。尝试通过
替换它/Images/MountainCrs_Incline.png
答案 1 :(得分:1)
你在使用jQuery插入的img标签的src属性中有一个波浪号(〜),但在“native html”标记中没有。代字号是有效的URL字符。我假设你正在使用.NET。在URL中使用tildes,就像你只在服务器端工作一样。
答案 2 :(得分:1)
var url = '<%= ResolveClientUrl("~/Images/MountainCrs_Incline.png") %>';
$('<img class="rcpt" src="' + url + '" alt="" />').appendTo('div#Logo');