单引号和双引号基本都是一种概念,但是二者一起出现时,需要特别注意:
<input type="button" onclick="alert("3")">
———–不正确
<input type="button" onclick="alert('3')">
———–正确
一般情况双引号里面嵌套单引号是为了突出单引号里面内容,直接将单引号中的内容在文本框中显示出来。而单引号包含双引号的时候,里面的双引号不用转义,反之亦然。
看下面代码:
<imput OnClientClick="return confirm('删除新闻内容其下评论一起删除,是否删除?')">
表示需要在文本框中显示“删除新闻内容其下评论一起删除,是否删除?”而
CommandArgument='<%# Eval("id") %>'
表示的是需要转移里面“@id”的值,获取它真正的字符串内容
双引号中再用双引号要这样(用转义符):
var str = "abc\"def\"ghi"
用反斜杠来禁止解析双引号。下面摘录的内容,希望对你有用:
在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />
IE提示出错后,改为:
<input value="Test" type="button" onclick="alert(\"OK\");" />
结果还是出错。再改为,ok通过:
<input value="" type="button" onclick="alert('OK');" />
但为什么javascript中的转义字符\没有效果了呢?
原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是vbScript的,\”这种做法则是javascript的,而HTML的,则是用”,此外还可以使用:”、’。
再看看下面的代码:
<script type="text/javascript">
function Display(LoginEmail, UserName, ID) {
alert(LoginEmail);
}
</script>
1.使用单引号传参:
<a javascript:Display('','Aleax Xie','10101239393')">Test1</a>
如果其中一个参数有一个值含有单引号,那么这个方法会出错.
<a javascript:Display('abc@a'','Aleax Xie','10101239393')">Test1</a>
改进: 有单引号的加上\’, OK。
<a javascript:Display('abc@a\'','Aleax Xie','10101239393')">Test</a>
2.上面解决了单引号的问题,但如果值中有双引号又出现了问题
<a javascript:Display('abc@a\'','Aleax Xie','10101239393')">Test</a>
改进: 使用Onclick,给双引号加上\”,单引号不用处理.并且不加“或’给JS方法
<a javascript:void(0)" onclick=Display("abc@\"ab'","Aleax Xie","10101239393")>Test3</a>
这样解决了Js参数中有单引号与双引号的问题,但这有限制: 参数与参数之前不能有空格,参数值中不能空格,如果有空格,则用” “来代替.