使用jQuery.HTML()插入时HTML显示不正确
HTML not displaying correctly when inserted using 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>
有人知道为什么会发生这种事吗?谢谢
问题在于,将块级元素(如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;
}
相关文章:
- 谷歌地图不是以HTML显示,而是在JS Fiddle上工作
- 使用鼠标悬停JavaScript/HTML显示文本
- 用javascript在html显示列表中显示新成员
- 尊重“; 〃;从HTML显示中的API响应返回的换行符(和特殊字符)
- HTML 显示/隐藏元素 JS 不起作用
- 从一个文本框执行代码,并在另一个文本框中以 HTML 显示输出
- 使用javascript for html显示特定时区的日期和时间
- 如何将一个元素的外部HTML显示为另一个元素的内容
- 将SQL BIT转换为JSON,直到jQuery,最后以HTML显示
- 使用 Javascript 迭代以 HTML 显示多个图像
- 文本(输入)字段中的 HTML 显示结果
- PHP - 作曲家自动加载器导致 html 显示在浏览器中
- 将HTML文件中的表单提交到PHP文件,并以相同的HTML显示结果
- 如何使 HTML/Javascript 从 PHP 脚本接收数据并以 HTML 显示
- 显示一个图像,然后使用 HTML 显示另一个图像
- input type=“password” 在 IE 11 上使用 HTML 5 显示文本
- 使用 JSON 从 PHP 返回数组并以 HTML 显示内容的适当方法
- Jquery对话框IE9内容未使用html显示
- HTML显示在“;查看源“;与Firebug中显示的HTML不同
- 使用jQuery.HTML()插入时HTML显示不正确