0

コードが機能しないのはなぜですか? 222ID を持つ要素に出力すべきではありません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

4 に答える 4

3

スペルが間違っていますgetElemementsByTagName。これによりjsエラーが発生し、コードはその行で実行を停止します。
として修正しgetElementsByTagNameます。そうすれば、コードは正常に機能します。

于 2012-10-08T07:19:53.770 に答える
3

なぜこれを使用しているのですか?var inputs = document.getElemementsByTagName("input");

私のフィドル

そして、あなたはこのように使用している方法を使用することができます:私のフィドルですが、要素のスペルが間違っているため、機能していませんでしたdocument.getElemementsByTagName

そのはずdocument.getElementsByTagName

于 2012-10-08T07:16:37.073 に答える
2

この行にタイプミスがあります:

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

あなたが望むのはおそらくこれです:

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

タイプミスが原因でスクリプトの実行が停止し、そのため次の行が実行されない可能性があります。

于 2012-10-08T07:15:57.340 に答える
2

次の行を削除すると動作します...

var inputs = document.getElemementsByTagName("input"); 
于 2012-10-08T07:16:59.537 に答える