JavaScript报错:Uncaught TypeError: 2 arguments required, but only 1 present.

错误

错误代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>替换元素</title>
	</head>
	<body>
		<button type="button" onclick="replaceEle();">替换元素</button>
		<h1 id="title">标题</h1>
		<script type="text/javascript">
			function replaceEle(){
				var oldNode=document.getElementById("title");
				var newOld=document.createTextNode("新的标题");
				oldNode.replaceChild(newOld);
			}
		</script>
	</body>
</html>

原因

原因是replaceChild(newNode,oldNode)方法有两个参数,但是这里只使用了一个参数,因此报错。

解决

设置两个正确的参数。

正确代码

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>替换元素</title>
	</head>
	<body>
		<button type="button" onclick="replaceEle();">替换元素</button>
		<div id="list">
			<h1 id="title">标题</h1>
		</div>
		<script type="text/javascript">
			function replaceEle() {
				var oldNode = document.getElementById("title");
				var newNode = document.createTextNode("新的标题");
				document.getElementById("list").replaceChild(newNode, oldNode);
			}
		</script>
	</body>
</html>

 


版权声明:本文为cnds123321原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。