JS字符串拼接在ie中都报错的解决方法
好久不用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高级程序设计>中,有一段关于字符串特点的描述,原文大概如下:ECMAScript中的字符串是不可变的,也就是说,字符串一旦创建,他们的值就不能改变.要改变某个变量的保存的的字符串,首先要销毁原来的字符串,然后再用另外一个包含新值的字符串填充该变量,例如: 复制代码 代码如下: var lang = "Java"; lang = lang + "Script"; 实现这个操作的过程如下:首先创建一个能容纳10个字符的新字符串
-
java字符串拼接与性能分析详解
假设有一个字符串,我们将对这个字符串做大量循环拼接操作,使用"+"的话将得到最低的性能.但是究竟这个性能有多差?如果我们同时也把StringBuffer,StringBuilder或String.concat()放入性能测试中,结果又会如何呢?本文将会就这些问题给出一个答案! 我们将使用Per4j来计算性能,因为这个工具可以给我们一个完整的性能指标集合,比如最小,最大耗时,统计时间段的标准偏差等.在测试代码中,为了得到一个准确的标准偏差值,我们将执行20个拼接"*"
-
javascript中字符串拼接需注意的问题
在开发中大家也都会注意尽量使用StringBuilder而不采用普通的字符串拼接方式.但是可能大部分开发者却忽略了js中也需要注意这种效率问题. 下面进行一项性能测试,用事实来说话! 复制代码 代码如下: function xntest(){ var d1=new Date(); var str=""; for(var i=0;i<10000;i++){ str+="stext"; } var d2=new Date(); document.write(&qu
-
JavaScript 学习笔记二 字符串拼接
var str="hello"; str+="world"; 实际上,这段代码在幕后执行的步骤如下: (1) 创建存储"hello"的字符串. (2) 创建存储"world"的字符串. (3) 创建存储连接结果的字符串. (4) 把str的当前内容复制到结果中. (5) 把"world"复制到结果中. (6) 更新str,使它指向结果. 每次完成字符串连接都会执行步骤2到6,使得这种操作非常消耗资源.如果重
-
探讨js字符串数组拼接的性能问题
我们知道,在js中,字符串连接是性能最低的操作之一. 例如: 复制代码 代码如下: var text="Hello"; text+=" World!"; 早期浏览器没有对这种运算进行优化. 由于字符串是不可变的,这意味着要创建中间字符串来存储连接的结果.频繁地在后台创建和销毁字符串导制性能异常低下. 因此,可以利用数组对象进行优化. 例如: var buffer=[],i=0; buffer[i++]="Hello"; //通过相应索引值添加元
-
html数组字符串拼接的最快方法
第一种:逐个字符串相加 复制代码 代码如下: var arr = ['item 1', 'item 2', 'item 3', ...], list = ''; for (var i = 0, l = arr.length; i < l; i++) { list += '<li>' + arr[i] + ''; } list = '<ul>' + list + '</ul>'; 这种最常见的,但是效率最低!代码逻辑相对来说复杂. 第二种:逐个 push 进数组 复
-
javascript字符串拼接的效率问题
复制代码 代码如下: function xntest(){ var d1=new Date(); var str=""; for(var i=0;i<10000;i++){ str+="stext"; } var d2=new Date(); document.write(" 字符串拼接方式耗时:"+(d2.getTime()- d1.getTime())+"毫秒:"); d1=new Date(); var sb=ne
-
javascript中拼接HTML字符串的最快、最好的方法
第一种:逐个字符串相加 复制代码 代码如下: var arr = ['item 1', 'item 2', 'item 3', ...];list = '';for (var i = 0,l = arr.length; i < l; i++) { list += '' + arr[i] + '';}list = '' + list + ''; 这种最常见的,但是效率最低!代码逻辑相对来说复杂. 第二种:逐个 push 进数组 复制代码 代码如下: var arr = ['item 1',
-
JS字符串拼接在ie中都报错的解决方法
好久不用js了,好多东东都忘了.最近用js拼接字符串时遇到问题了,不论怎么拼接在ie中都报错,很郁闷. 隔了一天,又拿起代码看了下,突然想起在java中拼接字符串转义字符的事,才想起js也有这个东东. 原来这样: 复制代码 代码如下: tr += "<td><a href='javascript:void(0);' onclick='confirmDelOneInfo('"+url2+"','"+obj.title+"');'>&l
-
vue.js 中使用(...)运算符报错的解决方法
今天在起别人项目的时候, 发现报错. 这个错误是,项目中不识别es6的扩展运算符, 解决方式很简单. // 第一步 cnpm install babel-plugin-transform-object-rest-spread // 第二步 看一下你的 .babelrc 里面是否有识别es6语法的配置 { "presets": [ ["env", { "modules": false, "targets": { "br
-
基于php双引号中访问数组元素报错的解决方法
最近在做微信公众号开发,在一个发送图文接口中,需要把数组元素拼接在XML字符串中 foreach ($itemArr as $key => $value){ $items .= "<item> <Title><![CDATA[$value['title']]]></Title> <Description><![CDATA[[$value['description']]]></Description> <
-
angularjs使用gulp-uglify压缩后执行报错的解决方法
问题出现原因是由于压缩之后变量变成了,e.s.t等,需要依赖注入的方法没有使用中括号注入,而在function的参数中直接使用,导致压缩之后无法识别需要依赖注入的模块.例如: var module= angular.module('homeApp', ['ui.router']); module.config(function ($sceProvider) { $sceProvider.enabled(false); }) 改为: var module= angular.module('home
-
Vue2.x中利用@font-size引入字体图标报错的解决方法
利用 vue-cli 搭建的项目平台 利用stylus写的css样式 有 css-loader 依赖包x 下图是 webpack.base.conf.js 关于字体文件的配置 有人这里会有重复的字体文件的配置,删除一项即可 出现的问题:引入字体图标出现问题 1.报错 将字体引入的相对路径改成绝对路径 相对路径 绝对路径 2.不报错,但是出现的字体图标是小方框 有警告信息: 小方块: 报错是因为重定向的问题 出现上述问题的原因 ①没在用到的地方引入字体的样式文件 ②使用的是后缀名为 .styl 文
-
vue init webpack 建vue项目报错的解决方法
使用vue init webpack 创建vue项目时报如下错误: vue init webpack my-project C:\Users\computer\AppData\Roaming\npm\node_modules\vue-cli\bin\vue-init:60 let template = program.args[0] ^^^ SyntaxError: Block-scoped declarations (let, const, function, class) not yet s
-
layui数据表格 table.render 报错的解决方法
一.报错信息 Whitelabel Error Page This application has no explicit mapping for /error, so you are seeing this as a fallback. Wed Jan 23 15:20:18 CST 2019 There was an unexpected error (type=Internal Server Error, status=500). An error happened during temp
-
详解Vue项目在其他电脑npm run dev运行报错的解决方法
一个 Vue 项目从一台电脑上传到 github 上之后,再另外一台电脑上 git clone .并使用 npm run dev 或 npm run start 发生以下报错的解决方法. 报错原因 缺少 node_modules 里面的依赖.在项目目录下使用 npm install 然后再 npm run dev. 如果在这一步当中, npm install 执行的过程中,处于一直卡顿的状态.说明网络状况不佳.建议使用 cnpm 淘宝源. 淘宝源 使用 cnpm -v 查看是否已经安装 cnpm
-
window环境下npm install node-sass报错的解决方法
最近准备想用vue-cli初始化一个项目,需要sass-loader编译: 发现window下npm install node-sass和sass-loader一直报错, window 命令行中提示我全局安装 node-gyp ,有些提示好像是本地找不到python, 于是我按照提示安装node-gyp node-gyp是一个用Node.js编写的跨平台命令行工具,用于编译Node.js的本地插件模块. node-gyp node-gyp官方网址 https://www.npmjs.com/p
-
bootstrap+jquery项目引入文件报错的解决方法
做一个项目的时候 ,控制台总是会出现各种bug,其实不用慌张,终结起来也就几种类型的错误,在开发中每次遇到错误都善于总结,下次在看到就会胸有成竹知道是什么情况了,以下是在开发过程中总结的一些错误以及错误的解决方法. 报错一:Uncaught ReferenceError: $ is not defined Uncaught ReferenceError: $ is not defined Uncaught ReferenceError: jQuery is not defined 错误原因:文件
随机推荐
- 一个js实现的所谓的滑动门
- sql server建表时设置ID字段自增的简单方法
- CentOS系统下安装Tomcat7的过程详解
- 用 Net 命令使局域网文件批量同步更新
- oracle查询字符集语句分享
- 从一个不错的留言本弄的mysql数据库操作类
- 详解java中finalize的实现与相应的执行过程
- Ajax同步与异步传输的示例代码
- 深度解析MySQL 5.7之临时表空间
- sed初学者实用说明
- jquery插入兄弟节点的操作方法
- ctr+alt+del调不出任务管理器的解决方法
- SpringBoot添加Email发送功能及常见异常详解
- 浅谈vue2 单页面如何设置网页title
- vue项目中 使用 pako.js 解密 gzip加密字符串的代码详解
- php5对象复制、clone、浅复制与深复制实例详解
- python多环境切换及pyenv使用过程详解
- mysql本地登录无法使用端口号登录的解决方法
- 易语言提取ICO图标支持多种图像格式转换的代码
- Vue实现数据请求拦截