var html = "<div onclick=\" openUrl( ' <s:url value='%{resUrl}'/>' ) \"></div>"
document.getElementById("main").innerHTML = html
最外面的那个双引号是表示一个字符串变量的意思,而被包在里面的双引号就不起作用,只有在页面显示的时候才会起作用,也就是说js不会认为第一个双引号和第二个双引号是一对,会认为</div>"这个双引号才是结尾,因为中间的被"\"转义了。
openUrl函数中的第一对单引号是表示字符串的意思,你省去也不会报错,中间那一对则是标签的属性需要。
最后的问题说明对struts的标签不熟,可以看下struts的property和ognl表达式,最多半个小时可学会。
js里面的单引号和双引号在jquery或者js中拼接字符串时是没有区别的,都可以被成功解析成字符串。从代码编译的角度说的话,单引号在JS中被浏览器(IE,Chrome,Safari)编译的速度更快(在FireFox中双引号更快)。
而且单引号和双引号可以混合使用,但混合使用时需要注意。情况一般出现在js拼接字符串里面,或者html元素的属性里面:单引号和双引号必须成双成对的出现,可以单引号在外面,也可以双引号在外面:
vara="'你好'"//这里变量a的内容就是字符串'你好',这里的单引号也是字符串的一部分
varb='"你好"'//这里变量b的内容就是字符串"你好",这里的双引号也是字符串的一部分
console.info(a===b)//输出false,它们不是一样的字符串
扩展资料:
单引号和双引号使用的几种情况
1、如果在引号里面使用相同的引号,需要用\转义。
单引号转义为\'
单引号转义为\"
2、单引号和双引号之间的字符串可以相加
'af'+"bvvv"+'dd'
输出"afbvvvdd"
3、单引号也是字符串的一部分
"<divclass='con"+"tent'></div>"
输出"<divclass='content'></div>"
js里单引号和双引号没区别的。var dang =()是错误的
var dang =('') 和var dang =''是一样的
var dang =("")和var dang ="" 是一样的
上面之所以一样,就好比你做连加运算,多几个括号没任何问题。
和var dang=new Obejct()一样。
[]是js中Array的简单写法,var dang=[]和var dang=new Array()一样。
楼上的只有1、2点是说到点子上了的。
你的串号我已经记下,采纳后我会帮你制作