我可以预先添加整个html块吗?

时间:2015-09-08 18:13:54

标签: jquery prepend

我试图将我的所有代码保存在一个页面上(我知道,不常见)作为挑战。我试图将所有内容保留在<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文档,该文档在文件中被正确引用。 *此外,附加罚款,这就是为什么我想知道我遇到了什么?我需要 ;或者,在所有线之后?

1 个答案:

答案 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可以不受支持(虽然我没有证据)。

相关问题