2012-04-22 74 views
4

我使用下面的代码来获得一个页面:jQuery的。获得的数据操纵

$.get('http://example.com/page1.html', function (data) { 

}); 

现在,让我们来想象有是page1.html内部的#内容股利和我需要阅读它的内部HTML,因为我已经在发生Ajax调用的页面上有#content div。

这样做的正确方法是什么?我试着:

data = $(data).find('#content').html(); 
$("#content").empty().append(data); 

但似乎HTML()函数是不正确的,因为它返回null,而内容()将返回数据,但我没有足够的技术不仅是我需要得到从中。

任何帮助表示感谢,谢谢!

+0

可以u显示数据的结构,我的意思是数据样本 – 2012-04-22 06:03:50

+0

'

etc.
' – 2012-04-23 00:54:53

回答

0

未经测试:

var content = $("#content", data).html(); // or var content = $("#content", $(data)).html(); 

$("#content").html(content); 

编辑:这个怎么样?

$('#content').load("http://example.com/page1.html #content"); 

来自:http://api.jquery.com/load/ - “加载页面片段”。

+0

不工作...谢谢 – 2012-04-22 15:43:21

+0

@ daniel.tosaba:看到我的编辑另一个建议。 – Stefan 2012-04-23 06:27:43

+0

谢谢Stefan,我昨晚就这样做了。我试图通过获取,因此我不必将内容包装在额外的容器中。 – 2012-04-23 23:40:22

0

此代码时数据是

var data ="<div id='content'>my data</div>"; 

因为#content已经父,如果数据是

var data ="<div><div id='content'>my data</div><div>"; 

然后返回精确的HTML,因为这个时候是#内容

data = $(data).find('#content').html(); 

返回NULL孩子,你可以.find()这在父div。

+0

这个怎么样..它没有返回任何搜索查询的问题。作为示例,$(data).html()将返回null,而$(data).contents()将返回一些数据,但不以受控方式返回。 – 2012-04-22 15:43:09