2016-10-01 19 views
0

對不起。用javascript包裝的文字

我不知道它爲什麼不起作用。

如果我寫

<button type="button" onclick="document.getElementById("demo").innerHTML = Date()">click</button> 

上面一個是行不通的。

如果我寫

<button type="button" onclick="document.getElementById('demo').innerHTML = Date()">click</button> 

這一項工作。

唯一的區別我得到了文字只有「」,「」

但是這是爲什麼發生?

爲什麼我只能選擇替代文字,不一樣?

謝謝

+1

試想一下,在HTML是如何着色,它應該是明顯要設置'onclick'到'的document.getElementById(',因爲那是文字字面結束。如果。你想避免這種情況,不要使用內聯代碼 –

+1

''''是onClick()方法的一部分,所以如果你的瀏覽器會遇到中間的''',那麼你的瀏覽器會破壞你的代碼,所以它不可用,這就是爲什麼你需要使用''' – Franco

+2

這是內聯JS不是一個好主意的衆多原因之一...... – JJJ

回答

2

因爲你需要完整的表達

document.getElementById("demo").innerHTML = Date() 

您的onclick裏面。如果你用雙引號開啓onclick表達式,解析器只知道另一個「會關閉表達式」,這就是爲什麼你必須使用不同的(在這種情況下是單個)引用的原因:

同樣的事情,當你開始用單引號:

onclick='document.getElementById('demo').innerHTML = Date()' // wouldn't work 
onclick='document.getElementById("demo").innerHTML = Date()' // would work 
+0

是的謝謝你:) :) – sradha