我目前正在制作一个能够加载模板的网站,以便以其外观的方式使用,以及加载包含将放置在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是一个选项
答案 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内容。