我有以下html代码段:
<div id="contentX"><h1>MyHeading1</h1></div>
Run Code Online (Sandbox Code Playgroud)
我可以通过以下方式成功选择jQuery代码段:
console.log($('#contentX h1'));
Run Code Online (Sandbox Code Playgroud)
输出是
[<h1>?MyHeading1?</h1>?]
Run Code Online (Sandbox Code Playgroud)
然而,它并没有当我动态加载的内容合作.例如,
html代码段:
<div id="content"></div>
Run Code Online (Sandbox Code Playgroud)
jQuery代码片段:
$('#content').load('foo.html')); // the content is loaded correctly with <h1> tag
Run Code Online (Sandbox Code Playgroud)
jQuery的代码片段并没有工作:
console.log($('#content h1')); // it returns []. I was expecting to return something.
Run Code Online (Sandbox Code Playgroud)
我想知道这是否是类似于事件绑定的行为:.click()vs .live().
在此先感谢您的帮助.
该load
函数是异步的,这意味着它启动加载,然后在后台继续执行,然后继续执行脚本的其余部分.
它不等待load
先完成.
您可以将一个函数附加到load
调用,以告知jQuery在加载完成后执行此操作.
这是一个例子:
$('#content').load('foo.html', function() {
console.log($('#content h1'));
});
Run Code Online (Sandbox Code Playgroud)