2011-06-26 47 views
3

在打开此线程之前,我在这个夜晚搜索了这个查询,但没有成功。看来,这是一个基本的,共同使用jQuery的:DiscordiaJQUERY - 在加载外部页面后使用DIV

  • 负载的外部页面(与#IMGs内容表)内的(<DIV id="content"></DIV>
  • 要访问一个特定ID:使用.live功能
  • 没问题

问题是我想要IMGs#IDs(新)充电列表(或阵列)。 当我尝试:

var imgIDs = $('#content').find('img').map(function(){ 
    return this.id; 
}).get(); 
alert (imgIDs.length); 

警报总是给我0!它是空的。

我该怎么办?

+0

@Caspar:感谢您对文档进行重新格式化。 – Zamboo

回答

1

由于您不知道#content中的内容何时加载,因此您的描述听起来像是使用了.live。这也是您给出的代码示例的一个问题。您应该从负载的success(或可能是complete)处理程序运行它。例如。如果你正在使用类似下面的填充#content格:

$('#content').load('/mydata'); 

那就试试这个执行你的函数一旦它被填充:

$('#content').load('/mydata', function() { 
    var imgIDs = $('#content').find('img').map(function(){ 
     return this.id; 
    }).get(); 
    alert(imgIDs.length); 
}); 

查看这个例子是如何工作的jQuery load documentation

如果你给一个js小提琴或链接展示'真正'的问题,那会帮助我更确定你在问什么。

+0

我已经做到了这一点,但没有成功(完全是你所提供的代码),但我没有尝试使用'成功'或'完整'属性。会马上做! – Zamboo

+0

!!我很困惑 !!这里是我在sendind之前使用的代码:$('#contents')。load(“prodView.html p#prodD”,function() {imgIDs = $('#contents')。find(' 。IMG')地图(函数(){ \t \t \t \t回this.id; \t \t \t \t \t})获得(); \t \t \t \t \t \t \t警报(imgIDs.length);} ); – Zamboo

+0

你能提供一个测试页面的链接吗?这很可能有助于搞清楚问题所在...... – Gijs

相关问题