Javascript 中的 HTML 字符串换行符

发布于 2024-10-26 13:29:13 字数 236 浏览 1 评论 0原文

我正在尝试使用 jQuery 输出 html。

$('body').append('
<div>
  <div>
    <div></div>
  </div>
</div>
');

我想以这种方式缩进代码以获得更高的可读性。 它适用于 php 但不适用于 JS,有什么想法吗?我使用notepad++作为编辑器。

I am trying to output html with jQuery.

$('body').append('
<div>
  <div>
    <div></div>
  </div>
</div>
');

I want to indent the code in this way for higher readability.
It works for php but not in JS, any ideas? I use notepad++ as editor.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

苏璃陌 2024-11-02 13:29:13

您应该为此使用模板系统。无论您使用多少缩进,如果您混合使用大量 HTML 和 Javascript,您最终都会得到意大利面条式代码。

HTML

<script type="text/template" id="my-template">
    <div>
        <div>
            <div></div>
        </div>
    </div>
</script>

Javascript

$('body').append($('#my-template').html());

如果您需要对模板渲染进行更多控制,则需要使用库。我推荐 underscore.js,它不是最好的 JavaScript 模板引擎,但它非常轻量级,并且附带一组很棒的辅助函数。

You should be using a templating system for that. No matter how much indentation you use, if you mix to much HTML and Javascript you will end-up will spaghetti code.

HTML

<script type="text/template" id="my-template">
    <div>
        <div>
            <div></div>
        </div>
    </div>
</script>

Javascript

$('body').append($('#my-template').html());

If you need more control over your template rendering, you need to use a library. I recommend underscore.js, its not the best templating engine for javascript, but it's very lightweight and comes with a great set of helper functions.

瞎闹 2024-11-02 13:29:13
$('body').append('\n\
<div>\n\
  <div>\n\
    <div></div>\n\
  </div>\n\
</div>\n\
');
  • \n 是在字符串中插入换行符(因此它将在 body 元素中输出)
  • 最后的 \ 是 Javascript 的行继续符,因此您可以保持 JS 代码缩进,而不必在任何地方添加 + ''
$('body').append('\n\
<div>\n\
  <div>\n\
    <div></div>\n\
  </div>\n\
</div>\n\
');
  • The \n is to insert a newline character in your string (so it’ll get outputted in your body element)
  • The final \ is Javascript's line continuation character, so you can keep your JS code indented without having to add + '' everywhere.
池木 2024-11-02 13:29:13

尝试这样的事情:

$('body').append('\
<div>\
  <div>\
    <div>foo</div>\
  </div>\
</div>');

Try something like this:

$('body').append('\
<div>\
  <div>\
    <div>foo</div>\
  </div>\
</div>');
熟人话多 2024-11-02 13:29:13

您是否尝试过使用 Javascript 字符串文字? “\n”是换行符,“\t”是制表符。

Have you tried using the Javascript string literals? "\n" is a newline, and "\t" is a tab.

少女净妖师 2024-11-02 13:29:13

如果您想缩进,我建议您在代码中添加新行时使用串联运算符“+”:

$('body').append(
'<div>' +
  '<div>' +
    '<div></div>' +
  '</div>' +
'</div>'
);

If you want to indent, I suggest using the concatenation operator "+" whenever you want to add a new line in your code:

$('body').append(
'<div>' +
  '<div>' +
    '<div></div>' +
  '</div>' +
'</div>'
);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文