2014-04-08 111 views
0

我正在嘗試使用javascript創建HTML塊。爲了保持我的代碼清潔,我試圖將代碼放在不同的行上。這是給我一個錯誤,說有一個不正確的<字符,但我從來沒有關閉字符串。這是我的代碼,請幫忙!謝謝!多行javascript投擲錯誤

var form = jQuery(' 
<div id="link"> 
    <div id="link-options"> 
     <p class="howto">Add a quote to the page</p> 
     <div> 
      <label><span>Text<br/></span><textarea name="text" id="text"></textarea></label> 
     </div> 
     <div> 
      <label><span>Person</span><input type="text" name="person"></label>\ 
     </div> 
    </div> 
    <div class="submitbox"> 
     <div id="update"> 
      <input type="button" id="quote-submit" class="button-primary" value="Insert Shortcode" name="submit" /> 
     </div> 
    </div> 
</div>'); 

回答

1

雖然技術上不關閉字符串,但字符串中有新行。 Javascript會將新行解釋爲一個緊密的字符串。因爲它正在關閉字符串,所以你會收到錯誤信息。嘗試添加的逃生線路的末逃脫換行符:

var form = jQuery('\ 
<div id="link">\ 
    <div id="link-options">\ 
     <p class="howto">Add a quote to the page</p>\ 
     <div>\ 
      <label><span>Text<br/></span><textarea name="text" id="text"></textarea></label>\ 
     </div>\ 
     <div>\ 
      <label><span>Person</span><input type="text" name="person"></label>\ 
     </div>\ 
    </div>\ 
    <div class="submitbox">\ 
     <div id="update">\ 
      <input type="button" id="quote-submit" class="button-primary" value="Insert Shortcode" name="submit" />\ 
     </div>\ 
    </div>\ 
</div>'); 
0

當JS做多變量我喜歡使用join()函數。

var form = [ 
    '<div>', 
    '<p>blah blah</p>', 
    '<div>' 
].join('\n'); 
0

我喜歡做的concat

var form = jQuery(
    '<div id="link">' + 
     '<div id="link_options">' + 
      '<p class="howto">how to add a quote to the page</p>' + 
     '</div>' + 
    '</div>' 
);