2017-06-14 10 views
1

AJAXコールバックでは、特定のIDを持つDIVを特定のDIVに挿入しています。すべての呼び出しの後、指定されたIDを持つdivが子要素DIV Aの新しいDIVを作成して追加しています。しかし、毎回$($ id).lengthは0を返しますが、$ idを持つdivはそこにあります。ここで起こりうる問題は何か?このようなAjaxコールバック関数を使用して動的に作成された要素を呼び出せません

何かが起こっている: -

あなたの参照を格納するためのあなたの配列がある
$.post(,,function(){ 
    $id = "#123"//changes but can be same 
      foo($id); 
     }); 

     function foo(id) { 
     if($(id).length == 0){ 
      $("#A").append("<div id='b'></div>"); 
     } 
     } 
+3

」を単一引用符対ダブルチェックして、私たちは、ブラウザのデバッグコンソールを見てみましょう –

+1

お知らせください。 '.append()'への呼び出しには、そこに報告される構文エラーがあります。 *常にデバッグコンソールを確認してください。 – David

+0

jQueryの問題をブラウザのコンソール@avinash – mizan3008

答えて

0

? $($ id).lengthは配列に対して実行するメソッドです。

.LENGTHを使用するには、このようなものだろう:

var divArray = []; 
$.post(,,function(){ 
$id = "#123"//changes but can be same 
     foo($id); 
    }); 

    function foo(id) { 
    divArray.push(id); 
    if(divArray.length == 0){ 
     $("#A").append("<div id="b"></div>"); 
    } 
} 
+0

[jQueryオブジェクトに含まれるオブジェクトの数(実際のjsオブジェクト、html要素など)を表す 'length'プロパティ(https://api.jquery.com/length/)があります。 –

+0

与えられたidを持つdivが存在するかどうかを調べる。 – Avinash

関連する問題