JS字符串拼接在ie中都报错的解决方法

2014-03-27 19

好久不用js了,好多东东都忘了。最近用js拼接字符串时遇到问题了,不论怎么拼接在ie中都报错,很郁闷。

隔了一天,又拿起代码看了下,突然想起在java中拼接字符串转义字符的事,才想起js也有这个东东。

原来这样:

tr += "<td><a href='javascript:void(0);' onclick='confirmDelOneInfo('"+url2+"','"+obj.title+"');'><img src='images/tab/010.gif'/>";

在编辑器中就不报错,到浏览器中怎么点onclick都都不反映,F12就报错,看了下脚本,字符串完全变样

修改后:

tr += "<td><a href='javascript:void(0);' onclick='confirmDelOneInfo(\""+url2+"\",\""+obj.title+"\");'><img src='images/tab/010.gif'/>“

就没问题了。

知识总结:

在js中单双引号的效果是一样的,但是如果你的字符串中有单引号则外面要用双引号,如果你的字符串中存在双引号则外面要用单引号括起来,这样就不用转义字符了。

上面的输出结果是:

onclick='confirmDelOneInfo("http://...?type=1&nodeId=11","测试1");'

看出在html中,如果外面使用单引号则里面要用双引号,否则IE报错,因此用到转义字符\"转换双引号。在动态生成html的元素时,尤其要注意单双引号的问题,否则会很头疼的。

呵呵,一点小知识的总结,欢迎指正....

展开阅读全文

更多Javascript文章

JavaScript实现仿网易通行证表单验证
May 25 27
快速掌握Node.js环境的安装与运行方法
Feb 16 27
在Node.js中使用Javascript Generators详解
May 05 19
老生常谈js中0到底是 true 还是 false
Mar 08 84
详解一次Vue低版本安卓白屏问题的解决过程
May 30 26
JS错误处理与调试操作实例分析
Apr 13 16
Vue详细的入门笔记
May 10 30
手机访问当前页面