js 赋值包含单引号双引号问题的解决方法

(编辑:jimmy 日期: 2024/10/10 浏览:2)

我的页面是jsp页面,里面包含一个参数:lefttree,

这个lefttree是从后台拼出来的,内容是html代码:如:
复制代码 代码如下:
<div class="test" onclick="show('tt1','abc')">

在jsp页面中,需要通过js代码将这个值付给一个div,如下:
复制代码 代码如下:
<script type="text/javascript">
window.parent.document.getElementById('mptree').innerHTML='<%=lefttree%>';
<script>

这样,由于lefttree中既包含单引号,又包含双引号,而与js中赋值时最外层的单引号发生匹配错误,变成了:
复制代码 代码如下:
'<div class="test" onclick="show('tt1','abc')">'

解决方法:

用转义字符"/"

在后台拼接lefttree时,变成以下形式:

复制代码 代码如下:
<div class="test" onclick="show(///'tt1///',///'abc///')">

其中:

前两个“//”用于在页面中保留下 一个“/”

第三个“/”用于转义后面的单引号。

这样在网页中,lefttree的值为:
复制代码 代码如下:
<div class="test" onclick="show(/'tt1/',/'abc/')">

一句话新闻

高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。