jquery .html删除img结束标记?

时间:2011-08-30 22:04:58

标签: jquery

我正在使用jquery来设置带有img标签的html,然后使用img标签检索html并将其存储在数据存储区中。

当我最初设置html时,我传入的字符串有一个结束标记:

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

当我稍后检索html时,它没有结束标记 当我稍后尝试提供此HTML时,这会导致问题。

$('div.thumbnail').html() 

生成这样的html,没有结束标记:

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

修改

感谢所有建议。在我的情况下,我在尝试提供HTML时不断收到“expected </img>”错误。

所以我改变了我的方法并使用这段代码来检索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="' + img +  '"/></div>'
    + '</thumbURL>\n';

2 个答案:

答案 0 :(得分:0)

你应该让我们更多jQuery以使其更容易。

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

jQuery将为您构建这些标记。 http://api.jquery.com/jQuery/#jQuery2

答案 1 :(得分:0)

这有什么问题导致具体而言,老实说我希望在所有浏览器中都可以使用未关闭的img标记进行渲染。

没有参数的

.html()基本上只是.innerHTML的包装器,结果可能因浏览器而异,但它不是jquery问题