2015-12-13 72 views
-1

我有一個包含HTML元素幾個字符串,例如:JS讀取字符串值作爲HTML

$("textarea").change(function(){ 
     var $html = $("#html").val(); 
     var $css = $("#css").val(); 
     var $js = $("#js").val(); 
     var so = "<style>"; 
     var sc = "</style>"; 
     var jso = "<script>window.onload=function(){"; 
     var jsc = "}</script>"; 
     var ho = "<body>"; 
     var hc = "</body>"; 
     $("iframe#display").html(so + $css + sc + jso + js + jsc + ho + $html + hc); 
}); 

不過,我得到一個錯誤:

Unexpected token ILLEGAL 

我使用jQuery .html功能插入內容,但錯誤正在出現在以前一直工作的地方。爲什麼我得到這個錯誤?

+2

你在哪裏得到這個錯誤?什麼具體行? –

+0

如果你用HTML和JS創建一個小提琴(jsfiddle,jsbin等),你可能會得到更多的迴應。 – user1032531

+0

@ user1032531 - Stackoverflow支持[inline live demos](https://blog.stackoverflow.com/2014/09/introducing-runnable-javascript-css-and-html-code-snippets/)for yonks。沒有必要訴諸第三方託管服務。 – Quentin

回答

1

</script>將終止腳本元素。如果你在一個字符串中間,它會在那裏終止它。

將腳本移至外部.js文件或將字符序列表示爲<\/script>

screenshot

+0

我以爲它只會被讀作一個字符串,而裏面的任何東西都不會被視爲HTML,而只是字符串的內容。 – TricksfortheWeb

+0

不.HTML解析器不知道JS語法,只是查找第一個''。 – Quentin