1

使ってます

$('#'+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);

}
4

2 に答える 2

4

+長い文字列を連結するために使用するだけです。

$('#'+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);
}
于 2013-03-09T19:06:01.917 に答える
1

これを行うには、「とにかく機能するハック方法」と「適切な方法」の2つの方法があります。

ハック方法:

$("#"+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)
于 2013-03-09T19:08:24.140 に答える