0

大家好,我在控制台中收到此错误。

Uncaught TypeError: Cannot read property 'innerHTML' of null functions.js:29
changeNameToLetters functions.js:29
onclick

我尝试搜索它,但我是 javascript 新手,不太确定如何修复它。最初,我将脚本放在 head 标记中,然后将其切换到结束 body 标记之前,以查看是否是所有内容加载方式的错误,但不幸的是它仍然无法正常工作。我检查了我的 id 拼写和 h3 标签中的文本,它们对我来说似乎很好。就像我说的,虽然我对 javascript 很陌生,并且可能忽略了一些明显的东西。

感谢您的输入!

这是我的html。

<body>
<h3 id"changeH3Text" onClick="changeNameToLetters()">
Regular Keyboard on Hover
</h3> 
<div id="keyboardContainer" class="keyboard">......</div>
<script src="js/functions.js"></script>
</body>

这是我的javascript:

function changeNameToLetters(){
//keyboard container variables
var  keyboardState= document.getElementById("keyboardContainer");
var currentClass = keyboardState.className;

//h3 text variables
var h3Text=document.getElementById("changeH3Text");
var currentText=h3Text.innerHTML;


    if (currentClass == "keyboard_normal" && currentText =="Tool Name on Hover" ) { 
    keyboardState.className = "keyboard";
    h3Text.innerHTML="Regular Keyboard on Hover";   
} //end if

else {
    keyboardState.className = "keyboard_normal"; 
    h3Text.innerHTML="Tool Name on Hover"; 
} //end else
} //End function
4

1 回答 1

0

哈利是对的

<h3 id="changeH3Text" onClick="changeNameToLetters()">

id 后面没有=。

于 2013-09-19T14:40:32.210 回答