提问人:MrMyth 提问时间:7/19/2021 更新时间:7/19/2021 访问量:58
你能“嵌套”HTML内容的JQuery加载吗?
Can you "nest "JQuery loading of HTML content?
问:
是否可以使用 JQuery.load() 从多个 HTML 文件中“嵌套”内容?
我希望能够将所有 HTML 内容都放在顶级“content”div 中。
我的代码示例如下所示:
加载 .js - “第一层”加载到“内容”div
$(function () {
$('#content').load('/first.html #firstLayer', true)
$('#firstLayerContent').load('/second.html #secondLayer', true)
})
第一.html
<div id="firstLayer">
<div id="firstLayerContent"></div>
</div>
第二.html
<div id="secondLayer">
<p style="font-size: 100px;">Hello world</p>
</div>
答:
1赞
Rory McCrossan
7/19/2021
#1
是的,你可以**。您只需要确保第二次调用在第一次调用之后执行,以便保证该元素在您尝试将内容放入其中时存在。为此,请使用 callback 参数:load()
#firstLayerContent
jQuery($ => {
$('#content').load('/first.html #firstLayer', () => {
$('#firstLayerContent').load('/second.html #secondLayer');
});
})
** 但要非常小心这种模式,因为对部分数据发出大量小请求很容易导致服务器资源消耗。在几乎所有情况下,发出一个更大的请求会更有效率,该请求从服务器检索所有必需的数据并在客户端上处理。
评论