多行javascript抛出错误

时间:2014-04-08 22:54:52

标签: javascript jquery

我正在尝试使用javascript创建一个HTML块。为了保持我的代码清洁,我试图将代码放在单独的行上。它给我一个错误,说有一个不正确的<字符,但我从未关闭字符串。这是我的代码,请帮忙!谢谢!

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>');

3 个答案:

答案 0 :(得分: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>');

答案 1 :(得分:0)

在js中执行多行变量时,我喜欢使用join()函数。

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

答案 2 :(得分: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>'
);