当div由jQuery的.load()函数创建时,使用jQuery将文本加载到div中

时间:2013-12-22 11:09:05

标签: php jquery html

我目前正在制作一个能够加载模板的网站,以便以其外观的方式使用,以及加载包含将放置在post div中的文本的“post”文档。但是我遇到了一个小问题。

看来jQuery无法看到它使用.load函数创建的div

当div由jQuery的.load()函数创建时,我需要解决将文本加载到div中的问题。

HTML代码

<body>
    <div id="header">
    </div>
    <script>
        $( "#header" ).load( "/Templates/Template.html #header" );
        $( "#post" ).load( "/post.html" );
    </script>
</body>

Template.html代码

<body>
<div id="header">
    <div id="post">
    </div>
</div>
</body>

Post.html代码

<p>This is the text that will be displayed in the post</p>

我如何让jQuery看到带有“post”作为id的div。 如果更容易,PHP是一个选项

1 个答案:

答案 0 :(得分:2)

你需要使用 on load complete 函数,因为ajax是异步的,而且那两个.load()同时运行,所以div #post还不存在你叫它。

试试这个:

    $("#header").load("/Templates/Template.html #header", function () {
        $("#post").load("/post.html");
    });

请确保#post内有#header Template.html来自{{1}},因为您正在替换该div内容。