jquery用load方法加载后,js/jquery无法获得元素
test.html如下:<body><divid='test'>TEST<div/></body>调用test.html的load.html如下<body><divid=...
test.html如下:
<body>
<div id='test'>
TEST
<div/>
</body>
调用test.html的load.html如下
<body>
<div id='body'>
</div>
</body>
load.html载入的外部js代码:
$('#body').load(test.html); //载入test.html
alert(document.getElementbyId('test'); //提示test元素类型
TEST字样显示了出来,但提示的test元素却是null
js无法获得load来的页面的元素吗?要怎么获得呢?
2016/11/30补充:
原因已经知道了,获取元素是load方法前进行的,
所以是无法获得元素的,如果后面的获取写成:
setTimeout(function(){
alert(document.getElementById('test');
},1000);
即1s后再获取就可以了。
或者原页面的bind全都写成delegate
或者要对元素操作的代码写在
$(document).ready(function(){
});
里,就行了 展开
<body>
<div id='test'>
TEST
<div/>
</body>
调用test.html的load.html如下
<body>
<div id='body'>
</div>
</body>
load.html载入的外部js代码:
$('#body').load(test.html); //载入test.html
alert(document.getElementbyId('test'); //提示test元素类型
TEST字样显示了出来,但提示的test元素却是null
js无法获得load来的页面的元素吗?要怎么获得呢?
2016/11/30补充:
原因已经知道了,获取元素是load方法前进行的,
所以是无法获得元素的,如果后面的获取写成:
setTimeout(function(){
alert(document.getElementById('test');
},1000);
即1s后再获取就可以了。
或者原页面的bind全都写成delegate
或者要对元素操作的代码写在
$(document).ready(function(){
});
里,就行了 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询