var html = "<div onclick=\" openUrl( ' <s:url value='%{resUrl}'/>' ) \"></div>"
document.getElementById("main").innerHTML = html
最外面的那个双引号是表示一个字符串变量的意思,而被包在里面的双引号就不起作用,只有在页面显示的时候才会起作用,也就是说js不会认为第一个双引号和第二个双引号是一对,会认为</div>"这个双引号才是结尾,因为中间的被"\"转义了。
openUrl函数中的第一对单引号是表示字符串的意思,你省去也不会报错,中间那一对则是标签的属性需要。
最后的问题说明对struts的标签不熟,可以看下struts的property和ognl表达式,最多半个小时可学会。
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点是说到点子上了的。
你的串号我已经记下,采纳后我会帮你制作
如果字符串里只有单引号,那就用双引号括起整个字符串:var str = "I'm the bone of my sword."如果字符串里既有单引号,又有双引号,那只能转义了,方式一:var str1 = "Emiya said: \"I'm the bone of my sword.\""(双引号括起整个字符串,字符串内出现的双引号都需要转义)
方式二:var str2 = 'Emiya said: "I\'m the bone of my sword."'(单引号括起整个字符串,字符串里的单引号都需要转义)