javascript - 使用 jQuery.html() 插入时 HTML 无法正确显示

标签 javascript jquery html

我有一个执行一些 AJAX 操作的表,如果遇到一个错误,则返回一个错误。

我正在使用 JS 来插入这个错误(这是一个字符串),但是因为字符串中有 HTML 标记,所以它被附加在我希望插入它的 JS 元素的末尾,而不是在中间。

var debug_error = '<span class="debug-message hidden">'+table_obj.debug_string+'</span>',
    row =         $(id+' .row-debug'); // id is definded

row.html(debug_error);

例如,如果 debug_string<h3>Error</h3><p>Please define an email address</p> ,我的结果是 -

<span class="debug-message hidden"> </span>
<h3>Error</h3>
<p>Please define an email address</p>

然而,如果我删除 HTML 标签,则只使用 ErrorPlease define an email address , 它按预期工作 -

<span class="debug-message hidden">ErrorPlease define an email address</span>

有人知道为什么会这样吗?谢谢。

最佳答案

问题是因为将 block 级元素(例如 h3)放在内联元素(例如 span)中是无效的。将 span 变成 div 它应该可以工作:

var debug_error = '<div class="debug-message hidden">' + table_obj.debug_string + '</div >',
    row = $(id + ' .row-debug'); // id is definded    
row.html(debug_error);

如果需要,您可以使用 CSS 使 div 显示为内联(因此表现得像 span 那样):

.debug-message {
    display: inline;
}

关于javascript - 使用 jQuery.html() 插入时 HTML 无法正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18102318/

相关文章:

javascript - 第二次单击时 jQuery 工具叠加层不显示

html - 加载时调整照片大小...来自服务器的 PHP 照片

javascript - 取消分配 BufferGeometry?

javascript - Dropbox API : how to use the "path" value to display images

javascript - javascript中有行限制吗?

javascript - .css() 方法未被调用,因此 <div> 未更新

javascript - 当用户将鼠标悬停在 src 链接地址上时,将其从 png 更改为 gif

javascript - 当 html 中其他选择框更改时更改选择框的样式

html - Odoo 10 QWeb 报告

javascript - 为什么我不能在 javascript 中向字符串对象添加属性?