无法使innerHTML工作?

时间:2012-10-08 07:13:10

标签: javascript html

为什么我的代码不起作用?它不应该将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>    

4 个答案:

答案 0 :(得分:3)

为什么要使用它? var inputs = document.getElemementsByTagName("input");

My fiddle

你可以像你这样使用你的方式:My fiddle但它无效,因为元素拼写错误 document.getElemementsByTagName

应为document.getElementsByTagName

答案 1 :(得分:3)

你拼写错误getElemementsByTagName。这会导致js错误,从而您的代码停止在该行执行 将其更正为getElementsByTagName。那么你的代码就可以了。

答案 2 :(得分:2)

你在这一行上有一个错字:

var inputs = document.getElemementsByTagName("input");

你想要的可能就是:

var inputs = document.getElementsByTagName("input");

可能是拼写错误会停止执行脚本,因此以后的行永远不会运行。

答案 3 :(得分:2)

删除以下行,它将有效...

var inputs = document.getElemementsByTagName("input");