我刚开始学习Javascript并从w3schools改变了这个程序,虽然它必须是正确的但是,每当我点击“试试”时,str.length的值都会改变,我无法理解为什么
function myFunction() {
var str = document.getElementById("demo").innerHTML;
document.getElementById("demo").innerHTML = str.length;
}
<p id="demo">Visit Microsoft!</p>
<button onclick="myFunction()">Try it</button>
答案 0 :(得分:1)
您将innerHTML设置为之前的长度,因此下次按下它时,您将获得长度的长度:
'Visit Microsoft!'
的长度为16
。
'16'
的长度为2
。
'2'
的长度为1
。
答案 1 :(得分:1)
您更改demo
innerHtml并再次使用此行从html代码中读取
document.getElementById("demo").innerHTML = str.length;
首先,您获得Visit Microsoft!
,其长度 16 。
您将演示文字更改为 16 。并再次阅读其长度, 2 。而且其长度将 1 。
答案 2 :(得分:0)
每次单击该按钮时,都会执行myFunction()。当您第一次单击时,变量str获取值“访问Microsoft!”并且id为“demo”的<p>
标签的内容成为变量str中字符串的长度,因此“访问Microsoft!”的长度为16,您将看到16。
下次单击该按钮时,变量str的值为“16”,ID为“demo”的<p>
标签的内容将成为变量str中字符串的长度,因此长度为“16” “,这是2.等等......