2
我打電話打印到一個div函數,然後返回其上還印到一個div的字符串。下面將只打印「兩節」,但我期待它打印「一」,那麼「二」:爲什麼在向innerHTML返回值時,函數中的innerHTML會被忽略?
<body>
<div id="view"></div>
</body>
<script>
global_cdiv = "view"
function test1(){
document.getElementById(global_cdiv).innerHTML += "one" + "<br>";
return "two";
}
document.getElementById(global_cdiv).innerHTML += test1();
</script>
沒有錯誤或任何在調試露面。 爲什麼Javascript忽略函數內的innerHTML? (A工作周圍將存儲從TEST1()爲可變,則值打印出來,但爲什麼不能TEST1可以直接使用?)
至少你可以把'
,當你調用
document.getElementById(global_cdiv).innerHTML += test1()
這是執行的順序:1-評估
document.getElementById(global_cdiv).innerHTML
和將其保存到臨時變量中2-執行
test1
函數3-附加臨時v良莠不齊到
test1
函數的返回4-結果分配給
document.getElementById(global_cdiv).innerHTML
,所以這是你在做什麼大概:
第二
innerHTML
(這是你的函數裏面,你的情況)分配被第三個覆蓋(不附加到「兩個」)來源
2013-10-26 09:14:44
在+ =語句之後''test1()'內有'console.log(document.getElementById(global_cdiv).innerHTML)'。 – thefourtheye
簽出上面的代碼。這將解決您的問題。
來源
2013-10-26 09:36:06