JQuery / Javascript 在处理空格时出现的问题

3

我遇到了JavaScript不允许我使用空格的问题,所以我不得不压缩所有的代码,使其难以阅读。

Sample A: - Working:

output += '<li><a href="#">test here</a><li>';


Sample B: - Not Working:

output += '<li>
           <a href="#">test here</a>
           </li>';

有没有一种方法可以在不必先把所有内容压缩在一起的情况下完成这项工作?
4个回答

5
你可以像这样做。我发现它稍微容易阅读,但更难维护。
output += '<li>' + 
           '<a href="#">test here</a>' + 
           '</li>';

4

2
@Brad:这是不同的。反斜杠换行符在实际字符串中并不会产生换行;它只是一种在源代码中包含换行符的字符串字面量的方法。 - ruakh

2
解决方案是退格键:
output += '<li>\
           <a href="#">test here</a>\
           </li>';



编辑
如果您想保留换行符,请在\前面加上\n


2

除非只有几个标签,否则不要在JS中编写标记。

考虑使用jQuery创建元素:

var output = $('<li>').append(
                $('<a>').attr('href', '#dalink')
            );

或者更好的方法是使用模板,即带有占位符和循环用于填充列表等少量表现逻辑的标记模板。请参考JS中的模板

jQuery有它的优点,我会虔诚地使用它,但是我发现有时候必须要放置标记。 - mcgrailm
@moonwave99,我想你的意思是“追加”。它也可以写成$('<li>').append($('<a>', {href: '#dalink'})) - hyperslug

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接