【问题标题】:Insert newline into source after appendChild()在 appendChild() 之后将换行符插入源代码
【发布时间】:2013-04-29 02:44:26
【问题描述】:

我正在使用

创建一个 div
document.getElementById("vidContainer").appendChild(divNode);

这会在vidContainer 内部创建一个div,并且因为它处于循环中,所以它会创建几个<div>s。一切都以我想要的方式完美地显示在页面上。

我的问题是我也希望我的来源看起来不错。我可以在innerHTML 中的任何位置插入\n,这很好地打破了一切,但是新标签的结束div 和开始div 标记在同一行上一起运行。

</div><div class="jkh">

我正在寻找一种在&lt;/div&gt;&lt;div class="jkh"&gt; 之间插入\n 的方法

有没有办法让appendChild() 这样做,或者有没有其他方法可以在一个div 的结尾和另一个div 的开头之后立即插入\n

【问题讨论】:

  • 标签之间源内的新行不会影响任何内容。据我所知,它仅在 &lt;pre&gt;&lt;/pre&gt; 标签内可见。
  • 您为什么要这样做?无论如何,您将无法看到源代码。 (在view-source: 和开发者工具中都没有)
  • 我在FF中突出显示页面上的部分然后右键单击->查看源代码时可以看到。
  • @carlos 这就是我想要做的...让源代码看起来不错。
  • @JasonMayoff - Firefox 中的默认控制台很糟糕...尝试在 Webkit 浏览器中使用 Firebug 或开发者工具。

标签: javascript html newline appendchild


【解决方案1】:

浏览器中的控制台通常会自动插入新行。

         Chrome               Firefox(带有Firebug

但是,如果你真的想手动添加新行,你将不得不这样做,不建议这样做:

var nodes = "<div>abc</div>\n\
<div>def</div>";

document.body.innerHTML = nodes;

//-or-

document.body.appendChild(document.createTextNode("\n"));

http://jsfiddle.net/DerekL/yL2c6/


为什么不应该手动添加新行

  • 它使您的脚本运行速度变慢
  • 没有必要
  • 可能会弄乱 DOM

【讨论】:

    猜你喜欢
    • 2018-07-14
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2013-06-26
    • 1970-01-01
    • 2022-11-26
    • 2015-01-25
    相关资源
    最近更新 更多