在jQuery中整理极长的代码行

时间:2013-06-03 14:14:17

标签: jquery syntax append tidy

我刚刚在这里遇到一些问题而没有太多运气,我想知道是否有一小段语法可以在多行之间分解一行代码,所以我不会最终得到一个长篇大论代码。

我在Jquery和段落中附加了一些元素,这使得它延伸得很远,所以我只是希望它看起来不那么混乱。

$('#image_holder').append('<div id="holder_info"><h5>Creatology Concept Design Academy     (Final College Yeah Exibition):</h5><p>For my final year at Weston College, we were asked to     invent a company and produce a series of designs related, this included</p></div>');

我还没有完成元素,只是想找到一种方法来整理它。

2 个答案:

答案 0 :(得分:2)

您可以关闭字符串并与+连接,并在任何地方(字符串之外)放置换行符。

$('#image_holder').append('<div id="holder_info"><h5>' 
 + 'Creatology Concept Design Academy' 
 + '     (Final College Yeah Exibition):</h5>' 
 + '<p>For my final year at Weston College,' 
 + ' we were asked to     invent a company and' 
 + ' produce a series of designs related, this included</p></div>');

答案 1 :(得分:1)

你可以在几行中断句,而不需要做任何特殊的事情。只需将分号(;)放在语句的末尾,以便清楚它应该在哪里结束。

当一行不以分号结尾时,JS会查看接下来的内容,看看插入分号和结束语句的意义。 ((某种)例外是return。)

如果你想分解一个长字符串,只需将它分成更小的字符串并连接即可。

您发布的示例:

$('#image_holder').append('<div id="holder_info"><h5>Creatology Concept Design Academy     (Final College Yeah Exibition):</h5><p>For my final year at Weston College, we were asked to     invent a company and produce a series of designs related, this included</p></div>');

很容易变成:

$('#image_holder')
    .append(
        '<div id="holder_info"><h5>Creatology Concept Design Academy     ' +
        '(Final College Yeah Exibition):</h5>' +
        '<p>For my final year at Weston College, we were asked to     ' +
        'invent a company and produce a series of designs related, ' +
        'this included</p></div>'
    );

(缩进只是风格问题,而不是要求。)

这是有效的,因为JS不能在这些行中的任何位置插入分号,并且分号两侧的代码都具有语法意义。

这不适用于

的原因
return
    true;

return
    this;

是因为return;本身可以是一个语句,因此truethis或通常在return之后的任何内容都可以,因此JS在{{{{}}之后插入一个分号1}}。这不是一个例外,只是一个必须要注意的潜在陷阱。