使用jQuery动态填充具有相同ID的div

时间:2014-11-11 07:32:50

标签: javascript jquery html history.js

我正在使用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'时,它将不返回任何内容。

3 个答案:

答案 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()

创建一个解决方案