我有以下功能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