2017-11-09 28 views
0

私の質問
forループをjQueryの追加メソッド内に配置する方法を見つけるのに問題があります。それは強くなければならない、ちょうどそこにあるべきかどうか、コードをどのようにフォーマットして動作するのか?forループをjQueryの内側に追加する方法

マイコード

window.onload = function() { 
    $(function() { 
     $('#li22').append($('<table/>').append(for (var i = 0; i <= 3; i++) {'$('#li22').append($(""));'})); 
    }); 
} 
+1

@Archerすみません。それを書き換えます。 – Soolie

答えて

1

まず、append()方法で直接forループを入れないでください。第2に、document.readyイベントハンドラをwindow.onloadハンドラの中に置かないでください。無意味です。

また、達成しようとしていることが明確ではありません。 table#li22に追加してから、#li22に何も追加せずに、それをtable ...に戻していますか?以下は、append()の使い方に関する一般的なガイドです。

$(function() { 
    for (var i = 0; i <= 3; i++) { 
    $('#li22').append($('<table/>')); 
    } 
}); 

はまた、あなたが付加されるHTMLを返すappend()する機能を提供することができます:あなたはこのように、append()forを置く必要がありますので

append()は、いずれかの文字列を受け付けます。あなたはそこにforを置くことができます。

$(function() { 
    $('#li22').append(function() { 
     var html = ''; 
     for (var i = 0; i <= 3; i++) { 
     html += '<table></table>'; 
     } 
     return html; 
    }); 
    } 
}); 
+0

私が正しく覚えていれば、Htmlのブロックをひとつ追加するだけで、かなり良いパフォーマンスが得られます。 – Archer

+0

はい私はかなり愚かな、私は質問を急いだが、私はまだこの記事の答えを得たので、あなたは正しいマークを獲得! –

0

あなたが関数の引数の内のコードを実行することはできません。そのため、コードは次のようにフォーマットする必要があります:

window.onload = function() { 

    $(function() { 

     var tableTag = $('<table><table/>'); 

     $('#li22').append(tableTag); 

     for (var i = 0; i <= 3; i++) { 

      $(tableTag).append(""); 

     } 

    }); 

} 
0

お試しください。

$(document).ready(function() { 

     var string="<table>"; 
     for (var i = 0; i <= 3; i++) 
     { 
      string += "what you need"; 
     } 
     string +="</table>" 
     $('#li22').append(string); 
    }); 
+1

それは動作しません。機能していないだけでなく、構文エラーがあります。 –

関連する問題