2013-03-27 2 views
0

Я правильно добавляю тег img со следующим кодом, но он отображается только как небольшая коробка с X в ней на веб-странице. Чтобы проверить, я добавил тот же самый тег img прямо на веб-странице. Это хорошо видно. Я просмотрел теги img в инструментах разработчика (PF12), и теги на странице совпадают. То, что я думаю, происходит в том, что в jQuery я загружаю тег изображения после того, как все HTTP-запросы для контента были запланированы, поэтому я получаю тег, но слишком поздно в обработке браузера, чтобы получить исходный файл, запрошенный и загружен. Я пытаюсь загрузить различные изображения при первом отображении страницы (в зависимости от содержимого скрытого поля ввода - доступа к этому и определения того, какое изображение работает нормально на основе нескольких предупреждений, которые я вставил).Добавление тега img в div - и не его использование append()

Вот код вставки изображения (с Decisioning удален в то время как я работаю с этой проблемой):

$(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> 

Вот IMG тег я вставил в родной HTML для проверки IMG теги форматирования правильно (это один отображает штраф):

<h3>&nbsp;</h3> 
<img class="rcpt" alt="" src="/Images/ChampCrs_Incline.png"> 
<h3>&nbsp;</h3> 

Если бы кто-нибудь мог рассказать мне, что происходит и как это исправить, я бы очень признателен. Я использую Visual Studio 11 и IE10 для тестирования. Thankx ...

+0

Я нашел свой собственный ответ глядя на этот вопрос. Я просто заметил, что браузер удалил «~» со второго тега img (он присутствует в источнике страницы). Удалив «~» из атрибута src на тег img, который я вставляю, я получил его для отображения. Я нашел свой ответ, но я немного растерялся, почему это происходит ... если кто-то захочет добавить некоторые комментарии, это будет оценено ... –

ответ

4

Это не действительный клиент URL

~/Images/MountainCrs_Incline.png 

Вот решена на стороне сервера на правильный URL, но на стороне клиента не имеет смысла. Попробуйте заменить что

/Images/MountainCrs_Incline.png 
1

У вас есть тильды (~) в ГКЗ свойстве IMG тега вы вставляете с JQuery, но не в «родной» HTML-разметки. Тильда является допустимым символом URL. Я предполагаю, что вы используете .NET. Использование тильдов в URL-адресах так, как вы работаете только на стороне сервера.

1

Попробуйте это с помощью ResolveClientUrl:

var url = '<%= ResolveClientUrl("~/Images/MountainCrs_Incline.png") %>'; 
$('<img class="rcpt" src="' + url + '" alt="" />').appendTo('div#Logo');