JS单引号嵌套的问题,怎么改才能对呢!

https://zhidao.baidu.com/question/416584343.html

document.getElementById(celbid).innerHTML='<inputname=""type="text"onblur="celchangeb('celaid','celbid');">';这段代码是JS显示一个输入框,焦点离开后调用函数celchangeb,需要...展开
 我来答
 
举报浏览 7931 次
最佳答案
woshidaniel  来自电脑网络类芝麻团 推荐于2016-11-07
 

js单引号要配对。嵌套的时候,不管多少层,最外层才是字符串意义的单引号,内层都是字符单引号,需要转义(\)。

举例:

1
2
3
4
5
var s1='aaaa';//正确,这是一个常见的字符串,外侧用单引号括起来。
var s2='aaa\'aaa';//正确,这里内部有一个单引号,这里通过转移\,把单引号当做字符,也就是最终字符串是aaa'aaa
var s3 = 'aaa' + 'bbb';//正确,这是两个字符串相加,每个字符串外侧用单引号括起来。
var s4 = 'k(\'kkk\')';//正确,这是字符串嵌套,就是函数调用k('kkk');
var s5 = 'k('kkk')';//错误,这嵌套是错误的,相当于'k('是一个字符串 ')'是一个字符串,kkk就什么都不是了,报错。
 

xiaojianhx  推荐于2018-02-27
两种写法都行

document.getElementById(celbid).innerHTML='<input name="" type="text" onblur="celchangeb(\'celaid\',\'celbid\');">';

document.getElementById(celbid).innerHTML="<input name='' type='text' onblur=\"celchangeb('celaid','celbid');\">";
 本回答被提问者和网友采纳