【问题标题】:jquery .html removing img closing tag?jquery .html 删除 img 结束标签?
【发布时间】:2023-03-12 16:05:01
【问题描述】:

我正在使用 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 &lt;/img&gt;”错误。

所以我改变了我的方法并使用此代码来检索 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';

【问题讨论】:

标签: jquery


【解决方案1】:

这具体导致了什么问题,老实说,我希望一个未关闭的 img 标签在所有浏览器中都可以呈现。

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

【讨论】:

    【解决方案2】:

    您应该多使用 jQuery 以使其更容易。

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

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

    【讨论】:

    • 应该是var content = $("&lt;div&gt;").addClass("photo").append($("&lt;img&gt;").attr("src", "a"));
    猜你喜欢
    • 2013-03-13
    • 1970-01-01
    • 2017-04-23
    • 2014-07-29
    • 1970-01-01
    • 1970-01-01
    • 2018-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多