我正在使用History.js动态填充我的html页面的主体,以防止整个页面刷新。但是,如果它们是相同的ID,我在获取数据和填充div时遇到问题。我的所有页面都是结构化的:
<div id="content">
<div id="container">
...
这是我目前的jQuery / history.js
History.Adapter.bind(window, 'statechange', function() {
var State = History.getState();
$.get(State.url, function(data) {
$('#content').fadeTo(600, 0, function() {
$('#content').html($(data).find('#container').html()).delay(200).fadeTo(600, 1);
});
});
});
我希望能够从'content'获取数据并填充'content'div,但是当我将find()中的变量更改为'content'时,它将不返回任何内容。
答案 0 :(得分:1)
为什么你不使用这样的东西? :
$('#content').fadeTo(600, 0, function() {
$(this).children('#container').html(data).delay(200).fadeTo(600, 1);
});
答案 1 :(得分:0)
您可能想尝试$(data).find('div[id=container]').html()
而不是$(data).find('#container').html()
。
您正试图用content
div的html替换container
div的html。您将失去container
div
答案 2 :(得分:0)
想出来了!
能够使用$(data).find('#container').parent().html()