我试图将我的所有代码保存在一个页面上(我知道,不常见)作为挑战。我试图将所有内容保留在<style>
标记内。
我能够$('body').prepend('<p>Text</p>')
,但是我试图以与jQuery相同的方式添加导航栏并且我得到错误。
编辑:这是代码块,导航栏代替上面的文本。我得到的错误是第3行的“Unexpected Token,ILLIGAL”。
$(document).ready(function(){
$('body').css({'background-color':'#C0DEED'});
$('body').prepend('<div class="navbar-fixed">
<nav>
<div class="nav-wrapper">
<a href="#!" class="brand-logo">Logo</a>
<ul class="right hide-on-med-and-down">
<li><a href="sass.html">Sass</a></li>
<li><a href="badges.html">Components</a></li>
</ul>
</div>
</nav>
</div>')
$('body').append('<div class="footer row span12"><p>Footer</p></div>');
});
*我正在使用来自materialize的Navbar文档,该文档在文件中被正确引用。 *此外,附加罚款,这就是为什么我想知道我遇到了什么?我需要 ;或者,在所有线之后?
答案 0 :(得分:0)
你不能在字符串中断行。为了得到你想要的东西,你需要
1)将每一行分隔成自己的字符串,并使用+
:
$('body').prepend('<div class="navbar-fixed">'+
'<nav>'+
'<div class="nav-wrapper">'+
'<a href="#!" class="brand-logo">Logo</a>'+
'<ul class="right hide-on-med-and-down">'+
'<li><a href="sass.html">Sass</a></li>'+
'<li><a href="badges.html">Components</a></li>'+
'</ul>'+
'</div>'+
'</nav>'+
'</div>')
2)或者在每一行的末尾使用反斜杠(\
)(这会使字符串继续到下一行):
$('body').prepend('<div class="navbar-fixed"> \
<nav> \
<div class="nav-wrapper"> \
<a href="#!" class="brand-logo">Logo</a> \
<ul class="right hide-on-med-and-down"> \
<li><a href="sass.html">Sass</a></li> \
<li><a href="badges.html">Components</a> </li> \
</ul> \
</div> \
</nav> \
</div>')
由您决定什么更具可读性。
就兼容性而言,第一个选项(使用+
连接)是首选 - 因为反斜杠不是在ECMA 5.1 spec和可以不受支持(虽然我没有证据)。