Jquery/Javascript无法将innerHTML属性设置为包含html页面
我在另一个页面中包含一个html页面。在包含的页面中,我有一个Id为的元素。我尝试从另一个页面更改该元素,但出现错误:Uncaught TypeError:无法将属性“innerHTML”设置为null Part.htmlJquery/Javascript无法将innerHTML属性设置为包含html页面,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我在另一个页面中包含一个html页面。在包含的页面中,我有一个Id为的元素。我尝试从另一个页面更改该元素,但出现错误:Uncaught TypeError:无法将属性“innerHTML”设置为null Part.html <h1 id="Title">Hello</h1> 你好 Index.html <html> <head> <title></title> <script src="jquery
<h1 id="Title">Hello</h1>
你好
Index.html
<html>
<head>
<title></title>
<script src="jquery.min.js"></script>
</head>
<body>
<div id="PartDiv"></div>
<script type="text/javascript">
$(document).ready(function () {
$('#PartDiv').load('/Part.html');
});
</script>
<script type="text/javascript">
function funct1() {
document.getElementById("Title").innerHTML = "Bye";
}
funct1();
</script>
</body>
</html>
$(文档).ready(函数(){
$('#PartDiv').load('/Part.html');
});
函数funct1(){
document.getElementById(“Title”).innerHTML=“Bye”;
}
funct1();
两个潜在问题:首先,您的DOM元素id
是“title”,而不是“title”。因此,您的功能应该是:
function funct1() {
document.getElementById("title").innerHTML = "Bye";
}
下一个潜在问题是jQueryload
方法是异步的,因此您需要确保在load
回调中执行funct1
函数,以确保DOM元素已首先加载:
$('#PartDiv').load('/Part.html', funct1);
您的
getElementById
中有一个输入错误,您的T是大写的。我更改了T,但错误仍然是$('#PartDiv').load('/Part.html',funct1);很好,谢谢