2017-06-14 35 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

」檢查雙VS單引號,讓我們知道 –

+1

看看瀏覽器的調試控制檯。你對'.append()的調用有一個語法錯誤,將會在那裏報告。 *始終*檢查調試控制檯。 – David

+0

你可以從瀏覽器控制檯@avinash – mizan3008

回答

0

哪裏是你用於存儲陣列的參考? $($ id).length是一個在Array上運行的方法。

要使用。長度,你會做這樣的事情:

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對象有一個'length'屬性](https://api.jquery.com/length/),表示它包含的對象的數量(實際的js對象,html元素等) –

+0

它也可以用於找到一個具有給定ID的div是否存在。 – Avinash