我无法选择使用.load()
加载到页面上的内容我知道我可以使用$('#container').on('click', '.item', function() { // do something });
代替$('#container .item')
绑定事件,但我只是选择这些项目并不幸运。
index.html:
<div id="container"></div>
somefile.html:
<div class="item">one</div>
<div class="item">two</div>
jq / js:
$('#container').load('somefile.html');
$('.item').css('background', 'blue'); //not working
$('#container .item').css('background', 'blue'); //not working
var container = $(container);
$('.item', container).css('background', 'blue'); //not working
答案 0 :(得分:1)
正如评论中所述,.load()
是异步的,这意味着您无法保证在后续指令执行时它将完整。
要解决此问题,请在.load()
的回调中运行代码,该代码仅在.load()
完成时调用:
$('#container').load('somefile.html', function() {
$('.item').css('background', 'blue');
});
答案 1 :(得分:0)
感谢评论提醒,回答我自己的问题。
.load()
是异步的,所以在加载之前不要尝试选择内容。使用回调&#39;完成&#39;功能
$('#container').load('somefile.html', function() {
$('.item').css('background', 'blue');
});