我有一个我需要创建的javascript变量:
var HTMLContent = '<div class="className">HTML Content</div>';
如何以更易于阅读的格式对其进行格式化,因为我想要创建多行HTML。
e.g。
var HTMLContent = '
<div class="className">
HTML Content
</div>
';
这样的事情可能吗?
如果我可以通过网址导入,那也很好var HTMLContent ='http://domain.com/page.html';
答案 0 :(得分:10)
var longStr = "You can split\
the string onto multiple lines\
like so";
使用HTML的示例如下:
var longStr =
'<div class="className">\
HTML Content\
</div>';
要加载外部HTML,请查看jQuery的load method:
$('#result').load('ajax/test.html');
答案 1 :(得分:5)
在页面标记中,添加隐藏的模板div,例如:
<div id="contentTemplate" style="display: none;">
<div class="className">
HTML_CONTENT
</div>
</div>
...然后在您的JavaScript中,您可以执行以下操作:
var newContent = 'The content for the new element';
var templateContent = document.getElementById("contentTemplate").innerHTML;
var htmlContent = templateContent.replace("HTML_CONTENT", newContent);
您还可以使用AJAX request从网址中提取newContent
的值,以使您的动态内容加载正常。但是,如果您计划这样做,那么我建议您使用类似jQuery的框架进行调查,这可以大大简化此过程。
答案 2 :(得分:2)
你也可以使用反引号
function myFunc() {
var HTMLContent =`
<div class="className">
<div>HTML Content</div>
</div>
`;
document.getElementById('demo').innerHTML = (HTMLContent);
}
myFunc()
&#13;
<div id="demo"></div>
&#13;
答案 3 :(得分:0)
您可以使用转义字符:
var HTMLContent = '<div class="className">\n\tHTML Content\n</div>';
我可能误解了这个问题,你希望javascript更具可读性,而不是存储在变量中的html?
答案 4 :(得分:0)
var HTMLContent =
'<div class="className">' +
'HTML Content' +
'</div>';
答案 5 :(得分:0)
您可以执行以下操作:
var HTMLContent = '<div class="ClassName">' +
'HTML Content' +
'</div>';
答案 6 :(得分:0)
javascript中允许使用多行字符串:http://www.componentart.com/community/blogs/jovan/archive/2007/10/17/multiline-strings-in-javascript.aspx
要从服务器获取html,最简单的方法是使用jQuery:
$.get('http://domain.com/page.html', function(theHTML){
yourVariable = theHTML;
});
答案 7 :(得分:0)
var HTMLContent = "" +
"<div class=\"className\">\n" +
" HTML Content\n" +
"</div>\n" +
"";
这样,如果有人要查看源代码,那么将它写得很漂亮的脚本和它编写的代码也会非常相似。