字形图标(Halflings & Fontawsome)不显示.纯 html vs use js innerHT
glyph icons (Halflings & Fontawsome) are not displayed consisted. plain html vs use js innerHTML
我遇到了一件奇怪的事情。看到是真的理解,所以我做了一个例子jsfiddle。我得到了一个带有图标的 html 列表。一个列表呈现为纯 html。另一个完全相同的列表附加了javascript。虽然元素完全相同,但 css 是相同的。其中一个具有右(和左)间距,另一个没有。我玩弄了标记高度、宽度和元素类型,但似乎没有什么能让它们正确。谁知道我错过了什么以及为什么会发生这种情况。以及如何以一致的方式使用图标?
标记(请参阅 CSS 和其他图标集的小提琴)
<div id="content1">
<ul class="list-horizontal">
<i class="fa fa-bars"></i>
<li>
<a href="#">A new thing</a>
</li>
</ul>
</div>
<div id="content2"></div>
/* string is the same as markup above */
var stringAwsome = '<ul class="list-horizontal"><i class="fa fa-bars"></i><li><a href="#">A new thing</a></li></ul>';
var div = document.getElementById('content2');
div.innerHTML = div.innerHTML + stringAwsome;
斯菲德尔
首先,i
不能是ul
的直系子代,只有li
可以。它不会导致您看到的问题,但我仍然认为您应该解决这个问题。
真正的问题是你没有插入与javascript完全相同的代码。
这
<ul class="list-horizontal">
<i class="fa fa-bars"></i>
<li>
<a href="#">A new thing</a>
</li>
</ul>
和这个不一样
<ul class="list-horizontal"><i class="fa fa-bars"></i><li><a href="#">A new thing</a></li></ul>
i
和 a
都是内联元素,因此所有空格(制表符、空格、换行符)都将折叠并呈现为单个空格。使用 javascript 注入的代码没有空格,因此您看不到标记中的空格。
看看更新的小提琴,我从标记中删除了空格(并修复了无效的 html):http://jsfiddle.net/kb3gN/8734/
相关文章:
- 谷歌地图不是以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显示不正确