1
當我將元素的innerHTML屬性設置爲包含腳本元素的字符串時,IE中出現了一個奇怪的問題。在IE中設置元素的innerHTML屬性包含腳本元素時出現奇怪的問題
會發生什麼事是,當innerHTML的設置,如:
domEl.innerHTML = "<script type=\"text/javascript\">alert(\"hello world\");</script>"
alert(domEl.innerHTML);
警報框不顯示任何文本,如果腳本元素完全去除。此外,檢查元素的childNodes集合也表明腳本元素不存在爲domEl.childNodes.length
= 0
但是,如果您之前的腳本標籤,像這樣添加一些文字:
domEl.innerHTML = "start text<script type=\"text/javascript\">alert(\"hello world\");</script>"
alert(domEl.innerHTML);
腳本元素在顯示警告框時出現。
爲什麼會發生這種情況,我該如何解決這個問題?這是IE中的錯誤嗎?它可以在最新版本的Chrome和Firefox中正常運行。我爲此使用IE 8。
我已經在腳本標記之前添加了XMP標記,並且所有程序似乎都很順利,但是像這樣做並不容易,因爲我知道這不是解決此類問題的正確方法,但隨後再次,它似乎是目前唯一的方式。謝謝! – user1092719 2011-12-13 22:26:38