Этот код должен работать .. Но это не так и я получаю сообщение об ошибке, говорящее:Почему этот код не работает?
Uncaught TypeError: Cannot set property 'innerHTML' of null
Это не первый раз, когда я получил эту ошибку, и я до сих пор не понимаю. ..
HTML:
<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="mycss.css">
<script src="myjavascript2.js" type="text/javascript"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
</head>
<body>
<button onclick="myFunction()">Play</button>
<p id="test"></p>
</body>
</html>
JavaScript:
var things = ['rock','paper','scissors'];
function myFunction() {
var i = Math.floor(Math.random()*things.length));
document.getElementById("test"+(i+1)).innerHTML=things[i];
}
Это не работает, потому что вы не имеете элемент 'ID =«testN» 'где N - результат' i + 1'. –
getElementById ("test" + (i + 1)) у вас есть только id = "test" – Huangism
Где находятся те 'test1',' test2', 'test3' элементы в DOM? – Bergi