我单击了一个div元素,它应该触发检查该元素的当前innerHTML值,然后匹配条件并进行更改。
它是脚本相对于元素位置的位置,还是关于加载的位置?该脚本位于元素上方,但可用于第二次和随后的单击(未显示)。
第一次单击时,innerHTML不会更改,但是在第一次单击时,会发生其他事件,例如隐藏某些内容。
的HTML
<div id="element" onclick="changeHim();">Change me upon click.</div>
脚本
function changeHim() {
var currentLabel = document.getElementById("element");
if(currentLabel=="Change me upon click"){
document.getElementById("element").innerHTML="You have been changed.";
}
}
最佳答案
错误1。
你应该声明
var currentLabel = document.getElementById("element").innerHTML
代替
var currentLabel = document.getElementById("element");
错误2。
缺少函数右括号}
错误3。
用
if(currentLabel=="Change me upon click."){
代替
if(currentLabel=="Change me upon click"){
因为(innterHTML)文本中缺少一个DOT(。)
更正的完整代码(已测试)如下
<script>
function changeHim() {
var currentLabel = document.getElementById("element").innerHTML;
if(currentLabel=="Change me upon click."){
document.getElementById("element").innerHTML="You have been changed.";
}
}
</script>
<div id="element" onclick="changeHim();">Change me upon click.</div>
关于javascript - 为什么我的javascript onclick事件没有在第一次点击时触发?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31099400/