为什么我的代码不起作用?它不应该222
打印到ID为p2
的元素吗?
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@page import="java.io.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
<script type="text/javascript">
function compareData()
{
document.getElementById('p1').innerHTML = "111";
var inputs = document.getElemementsByTagName("input");
// why can't I display the "222" here??
document.getElementById('p2').innerHTML = "222";
}
</script>
</head>
<body>
<p id="p1"> a </p>
<p id="p2"> b </p>
<input type="button" onclick="compareData()" value="hello"/>
</body>
</html>
错了getElemementsByTagName
.这会导致 js 错误,因此您的代码在该行停止执行。
更正为 getElementsByTagName
.然后你的代码就可以正常工作了。
你为什么要使用它? var inputs = document.getElemementsByTagName("input");
我的小提琴
你可以像这样使用你正在使用的方式:我的小提琴,但它不起作用,因为元素拼写错误 document.getElemementsByTagName
应该是document.getElementsByTagName
你在这一行有一个错别字:
var inputs = document.getElemementsByTagName("input");
你想要的可能是这个:
var inputs = document.getElementsByTagName("input");
可能是拼写错误停止了脚本的执行,因此之后的行永远不会运行。
删除以下行,它将起作用...
var inputs = document.getElemementsByTagName("input");