使用新的javascript jquery行

Using new lines in javascript jquery

本文关键字:jquery javascript      更新时间:2023-09-26

我使用

$('#'+type+'name'+id).hide().html('ghj').fadeIn(150);

效果很好。但是当我使用

$('#'+type+'name'+id).hide().html('
A lot of html code
').fadeIn(150);

函数不再工作。因为我想保持函数整洁,所以我想把HTML放在多行中。为什么这行不通呢?

编辑:仍然不工作:

function Rename(type,id,content){
$('#'+type+'name'+id).hide().html(' '+
    '   <td height='"20'" valign='"middle'">'+
    '       <span onclick='"RenameDo(''notify'','''+id+''',''+content+'')'">'+
    '           <img title='"Wijzigen'" class='"LinkImage'" src='"/common/images/save.png'">'+
    '       </span>'+
    '   </td>'+
    '   <td valign='"middle'" rowspan=2>&nbsp;fghfgh</td>'+
' ').fadeIn(150);
}

使用+来连接长字符串:

$('#'+type+'name'+id).hide().html(' ' + 
'A lot of html code' +
' ').fadeIn(150);

或使用'转义换行符:

$('#'+type+'name'+id).hide().html(''
A lot of html code'
').fadeIn(150);

对于特定的字符串,使用:

function Rename(type,id,content){
    $('#'+type+'name'+id).hide().html(' '+
        '   <td height="20" valign="middle">'+
        '       <span onclick="RenameDo(''notify'',''' + id + ''',''' + content + ''')">' +
        '           <img title="Wijzigen" class="LinkImage" src="/common/images/save.png">'+
        '       </span>'+
        '   </td>'+
        '   <td valign="middle" rowspan=2>&nbsp;fghfgh</td>'+
    ' ').fadeIn(150);
}

有两种方法可以做到这一点,一种是"hack way that anyway",另一种是"proper way"。

黑客道:

$("#"+type+"name"+id).hide().html("'
A lot of html code'
").fadeIn(150)

解释:通过在行尾添加反斜杠,您可以有效地"转义"换行,因此它被忽略,而不是一个未终止的字符串常量。

正确方式:

$("#"+type+"name"+id).hide().html(
"A lot of html code'n"
+"Just adding some more'n"
+"Because whitespace outside of strings is fine."
).fadeIn(150)