我未能找到以下答案:
我有一个html文档,可以加载其他几个htmls。 这完美地完成了。
然而,在其中一个包含的htmls中,“navmenu.html"
,我希望在所有内容被加载后执行load()
中找到的脚本修改“menu1
”元素的类,该类位于包含的“navmenu.html
”中。
在ready()
功能之后,load()
功能执行之前“navmenu.html
”确实是&完全包含在文档中,因为我收到的错误消息是找不到元素“menu1
”。
如果我在alert()
开头按load()
暂停操作 - 则会找到menu1
元素 - 因为alert()
导致的延迟给了时间要完成的ready()
功能。
那么,有没有办法解决这个问题?
提前谢谢。
<body>
<div id="navmenu"></div>
<div id="carousel"></div>
</body>
<script language="javascript" type="text/javascript">
jQuery( document ).ready(function( $ ) {
$('#navmenu').load('navmenu.html');
$('#carousel').load('carousel.html');
});
$(window).load(function() {
var element = document.getElementById("menu1");
element.classList.add("active");
});
</script>
答案 0 :(得分:5)
jQuery.load()具有以下签名(url,data,callbackFunction)。
你可以试试followind:
jQuery( document ).ready(function( $ ) {
$('#navmenu').load('navmenu.html',[],function(){
$('#carousel').load('carousel.html',[],function(){
var element = document.getElementById("menu1");
element.classList.add("active");
});
});
});
答案 1 :(得分:0)
非常感谢Radu Toader的回复。 它工作!!!
(我不确定这是否是正确的回答方式,因为这是我向小组提出的第一个问题。)
我也尝试了以下内容,因为该元素位于&#34; navmenu.html&#34;并为旋转木马分开了一条线。
$('#navmenu').load('navmenu.html',[],function(){
var element = document.getElementById("menu1");
element.classList.add("active");
});
$('#carousel').load('carousel.html');
我也尝试过你的答案,其中load.carousel由load.navmenu调用,它也有效。
你是否建议我使用你的#34;更复杂的&#34;解决方案而不是旋转木马的分离线?
再次感谢。
迪米特里奥斯