/ / jquery .html премахване на затварящия маркер на img? - jquery

jquery .html премахване на маркера за затваряне на img? - jquery

Използвам jquery и за двете зададени html с img таг, а по-късно извличам html с img таг и го съхранявам в хранилище на данни.

Когато първоначално задавам html, низът, който преминавам, има затварящ маркер:

h += "<div class="photo">"
+ "<img src="/images/" + msg + "" />"
+  "</div>";
$("#thumb").html(h);

Когато извличам html по-късно, той няма затварящ маркер.
Това причинява проблеми, когато се опитам да обслужвам този html на по-късна дата.

$("div.thumbnail").html()

създава HTML като този без затварящия маркер:

<div class="photo">
<img src="/images/http://lh3.ggpht.com/blah.jpg">
</div>

РЕДАКТИРАНЕ</ Силен>

Благодаря за всички предложения. В моя случай продължих да получавам „expected </img>"грешка при опит за връщане на HTML обратно.

Затова промених подхода си и използвах този код, за да извлека img src, да възстановите html и след това да го съхраня:

var xml = "<?xml version="1.0" encoding="utf-8"?>n<content>n";
var img = $("#thumbimage").attr("src");

xml += "<thumbURL><div class="photo"><img src="/images/" + img +  ""/></div>"
+ "</thumbURL>n";

Отговори:

0 за отговор № 1

Какъв проблем е причиняването на това конкретно, честно казано, бих очаквал, че незатворен етикет за img ще направи ОК във всички браузъри.

.html() без аргументи всъщност е просто обвивка за .innerHTML, резултатите могат да варират според браузъра, но това не е проблем с jquery


0 за отговор № 2

Трябва да ни jQuery малко повече, за да го улесним.

var content = $("<div>").addClass("photo").append($("<img>").attr("src", msg));
$("#thumb").html(content);

jQuery ще изгради тези тагове за вас. http://api.jquery.com/jQuery/#jQuery2