我的頁面是jsp頁面,裡麵包含一個參數:lefttree,
這個lefttree是從後台拼出來的,內容是html代碼:如:
複製代碼代碼如下:
<div onclick="show('tt1','abc')">
在jsp頁面中,需要通過js代碼將這個值付給一個div,如下:
複製代碼代碼如下:
<script type="text/javascript">
window.parent.document.getElementById('mptree').innerHTML='<%=lefttree%>';
<script>
這樣,由於lefttree中既包含單引號,又包含雙引號,而與js中賦值時最外層的單引號發生匹配錯誤,變成了:
複製代碼代碼如下:
'<div onclick="show('tt1','abc')">'
解決方法:
用轉義字符"/"
在後台拼接lefttree時,變成以下形式:
複製代碼代碼如下:
<div onclick="show(///'tt1///',///'abc///')">
其中:
前兩個“//”用於在頁面中保留下一個“/”
第三個“/”用於轉義後面的單引號。
這樣在網頁中,lefttree的值為:
複製代碼代碼如下:
<div onclick="show(/'tt1/',/'abc/')">