JS中双引号单引号,转义字符问题!!
<divonclick=\"openUrl('<s:urlvalue='%{resUrl}'/>')\"></div><s:urlvalue='%{resUrl}'/>是...
<div onclick=\" openUrl( ' <s:url value='%{resUrl}'/> ' ) \"></div>
<s:url value='%{resUrl}'/>是获得的请求,值是/appinfo/doReadAppInfoList.do
<input value='<s:property value='resName'/>' >
这段代码有很多符号,看的我很疑惑,希望大神帮忙解答
这里面有一对双引号,两对单引号,他们之间添加转义字符是按什么规则来做?写JS什么时候需要转义?
onclick里调用一个函数openUrl('<s:url value='%{resUrl}'/>'),函数的参数就是/appinfo/doReadAppInfoList.do。这里的Struts标签'<s:url value='%{resUrl}'/>' ,对比我另外的一段
input里的标签,标签外多了一对单引号,而且标签内还多了个%{ },这是为什么啊??
希望大神们帮下忙!!感激不尽!! 展开
<s:url value='%{resUrl}'/>是获得的请求,值是/appinfo/doReadAppInfoList.do
<input value='<s:property value='resName'/>' >
这段代码有很多符号,看的我很疑惑,希望大神帮忙解答
这里面有一对双引号,两对单引号,他们之间添加转义字符是按什么规则来做?写JS什么时候需要转义?
onclick里调用一个函数openUrl('<s:url value='%{resUrl}'/>'),函数的参数就是/appinfo/doReadAppInfoList.do。这里的Struts标签'<s:url value='%{resUrl}'/>' ,对比我另外的一段
input里的标签,标签外多了一对单引号,而且标签内还多了个%{ },这是为什么啊??
希望大神们帮下忙!!感激不尽!! 展开
1个回答
展开全部
html的双引号是正常的吧,每一个属性,例如:value="",一般都有双引号包着。但是用js添加页面节点的时候,需要转义,比如:
var html = "<div onclick=\" openUrl( ' <s:url value='%{resUrl}'/> ' ) \"></div>";
document.getElementById("main").innerHTML = html;
看到最外面的那个双引号的了吗,是表示一个字符串变量的意思,而被包在里面的双引号就不起作用,只有在页面显示的时候才会起作用,也就是说js不会认为第一个双引号和第二个双引号是一对,会认为</div>";这个双引号才是结尾,因为中间的被"\"转义了。
openUrl函数中的第一对单引号是表示字符串的意思,你省去也不会报错,中间那一对则是标签的属性需要。
最后的问题说明你对struts的标签不熟,可以看下struts的property和ognl表达式,最多半个小时可学会
var html = "<div onclick=\" openUrl( ' <s:url value='%{resUrl}'/> ' ) \"></div>";
document.getElementById("main").innerHTML = html;
看到最外面的那个双引号的了吗,是表示一个字符串变量的意思,而被包在里面的双引号就不起作用,只有在页面显示的时候才会起作用,也就是说js不会认为第一个双引号和第二个双引号是一对,会认为</div>";这个双引号才是结尾,因为中间的被"\"转义了。
openUrl函数中的第一对单引号是表示字符串的意思,你省去也不会报错,中间那一对则是标签的属性需要。
最后的问题说明你对struts的标签不熟,可以看下struts的property和ognl表达式,最多半个小时可学会
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询