我有以下功能getItemID
,它會查找某個父母ID爲(#search-output)
下的所有ID。如果在頁面加載時加載ID (#test)
,getItemID
將找到沒有問題的ID。.map查找通過AJAX加載過的元素
但是,我實際上是通過AJAX構建這些ID的(#test)
,所以我的功能getItemID
需要能夠找到通過AJAX加載的這些ID的(#test)
。
我認爲這裏的問題是.map(function(){})
裏面getItemID
在頁面加載後找不到添加到DOM的元素。無論何時加載,我都需要一種方法來尋找所有元素。
這工作:HTML:
<div id="search-output">
<div id="test"></div>
</div>
這不起作用:HTML:
<div id="search-output">
</div>
的JavaScript getItemID功能:
function getItemID(){
var ID = $('#search-output [id]').map(function(){
return this.id;
}).get();
if(ID.length == 0){
return null;
}else{
return ID;
}
}
JavaScript的AJAX返回HTML:
$.ajax({
url:'lib/search-server.php',
type:'POST',
data: {
search: "*"
},
dataType:'json',
success: function(data){
/* data[0] contains "<div id="test"></div>" */
$('#search-output').append(data[0]);
}
});
需要調用Ajax調用後的功能要那樣做......如果完成了AJAX調用之前有在'搜索output'所以沒有任何元素,則執行'getItemID'方法返回 – 2015-03-25 04:13:30
@ArunPJohny,哦,哇,這是一個菜鳥的錯誤!謝謝!我應該關閉還是你想把它作爲答案? – Joseph 2015-03-25 04:15:10