我想将下面的html代码放在我的javascript函数中。我不想把它们全部放在一起。代码是否可能与html中的代码相同? 代码:
<div data-role="page" data-add-back-btn="true" id="Gallery2" class="gallery-page">
<div data-role="header">
<h1>Second Gallery</h1>
</div>
<div data-role="content">
<ul class="gallery">
<li><a href="images/full/010.jpg" rel="external"><img src="images/thumb/010.jpg" alt="Image 010" /></a></li>
<li><a href="images/full/011.jpg" rel="external"><img src="images/thumb/011.jpg" alt="Image 011" /></a></li>
<li><a href="images/full/012.jpg" rel="external"><img src="images/thumb/012.jpg" alt="Image 012" /></a></li>
<li><a href="images/full/013.jpg" rel="external"><img src="images/thumb/013.jpg" alt="Image 013" /></a></li>
<li><a href="images/full/014.jpg" rel="external"><img src="images/thumb/014.jpg" alt="Image 014" /></a></li>
<li><a href="images/full/015.jpg" rel="external"><img src="images/thumb/015.jpg" alt="Image 015" /></a></li>
<li><a href="images/full/016.jpg" rel="external"><img src="images/thumb/016.jpg" alt="Image 016" /></a></li>
<li><a href="images/full/017.jpg" rel="external"><img src="images/thumb/017.jpg" alt="Image 017" /></a></li>
<li><a href="images/full/018.jpg" rel="external"><img src="images/thumb/018.jpg" alt="Image 018" /></a></li>
</ul>
</div>
<div data-role="footer">
<h4>© 2011 Code Computerlove</h4>
</div>
</div>
答案 0 :(得分:15)
更新了,好像Javascript确实通过添加反斜杠(\)作为行中的最后一个字符来支持多行,你甚至不能在它后面有一个空格键,因为它不会取消换行符。
var str = '<div data-role="page" data-add-back-btn="true" id="Gallery2" class="gallery-page"> \
<div data-role="header"> \
<h1>Second Gallery</h1> \
</div> \
<div data-role="content"> \
<ul class="gallery"> \
<li><a href="images/full/010.jpg" rel="external"><img src="images/thumb/010.jpg" alt="Image 010" /></a></li> \
<li><a href="images/full/011.jpg" rel="external"><img src="images/thumb/011.jpg" alt="Image 011" /></a></li> \
<li><a href="images/full/012.jpg" rel="external"><img src="images/thumb/012.jpg" alt="Image 012" /></a></li> \
<li><a href="images/full/013.jpg" rel="external"><img src="images/thumb/013.jpg" alt="Image 013" /></a></li> \
<li><a href="images/full/014.jpg" rel="external"><img src="images/thumb/014.jpg" alt="Image 014" /></a></li> \
<li><a href="images/full/015.jpg" rel="external"><img src="images/thumb/015.jpg" alt="Image 015" /></a></li> \
<li><a href="images/full/016.jpg" rel="external"><img src="images/thumb/016.jpg" alt="Image 016" /></a></li> \
<li><a href="images/full/017.jpg" rel="external"><img src="images/thumb/017.jpg" alt="Image 017" /></a></li> \
<li><a href="images/full/018.jpg" rel="external"><img src="images/thumb/018.jpg" alt="Image 018" /></a></li> \
</ul> \
</div> \
<div data-role="footer"> \
<h4>© 2011 Code Computerlove</h4> \
</div> \
</div>';
或者使用HTML模板并将其加载到DIV(使用jQuery)
$("#div").load("/html_template.html");
答案 1 :(得分:9)
你可以这样做:
var myHtml = [
'firstline',
'second line',
'third line'].join("\n");
所以你还需要分解代码。
另一种选择(如果代码很大)将存储在HTML文件中,当您需要时,使用$.get
快速检索它,并可能将其缓存在变量中的某个位置。
$.get('snippet.html', function(data) {
$('.result').html(data);
});
我认为这实际上是个好主意,因为修改该代码段会更容易。
答案 2 :(得分:3)
从javascript生成html直接将逻辑和表示联系在一起。它也会使你的代码变得惹恼。
您可以使用像pure这样的javascript模板引擎来明确分离逻辑和演示文稿。
答案 3 :(得分:0)
真的很老的问题,但是我没有找到这么多的语法,所以我只想把它留在这里,对我来说它是最可读的。
var html = '' +
' <div data-role="page" data-add-back-btn="true" id="Gallery2" class="gallery-page">' +
'' +
' <div data-role="header">' +
' <h1>Second Gallery</h1>' +
' </div>' +
'' +
' <div data-role="content"> ' +
'' +
' <ul class="gallery">' +
'' +
' <li><a href="images/full/010.jpg" rel="external"><img src="images/thumb/010.jpg" alt="Image 010" /></a></li>' +
' <li><a href="images/full/011.jpg" rel="external"><img src="images/thumb/011.jpg" alt="Image 011" /></a></li>' +
' <li><a href="images/full/012.jpg" rel="external"><img src="images/thumb/012.jpg" alt="Image 012" /></a></li>' +
' <li><a href="images/full/013.jpg" rel="external"><img src="images/thumb/013.jpg" alt="Image 013" /></a></li>' +
' <li><a href="images/full/014.jpg" rel="external"><img src="images/thumb/014.jpg" alt="Image 014" /></a></li>' +
' <li><a href="images/full/015.jpg" rel="external"><img src="images/thumb/015.jpg" alt="Image 015" /></a></li>' +
' <li><a href="images/full/016.jpg" rel="external"><img src="images/thumb/016.jpg" alt="Image 016" /></a></li>' +
' <li><a href="images/full/017.jpg" rel="external"><img src="images/thumb/017.jpg" alt="Image 017" /></a></li>' +
' <li><a href="images/full/018.jpg" rel="external"><img src="images/thumb/018.jpg" alt="Image 018" /></a></li>' +
'' +
' </ul>' +
'' +
' </div>' +
'' +
' <div data-role="footer">' +
' <h4>© 2011 Code Computerlove</h4>' +
' </div>' +
'' +
' </div>';
使用简单的shell命令从html文件生成:
cat myfile.html | sed "s/'/\\'/g" | sed "$ ! s/^.*$/'\0' +/g" | sed "$ s/^.*$/'\0';/"
更新:使用ES6,只需使用反引号:
const html = `
<div>
<!-- Content -->
</div>
`;