浅析Js中的单引号与双引号问题

单引号和双引号其实没啥区别,看你自己习惯了

<input type="button" onclick="alert("1")">-------------------不正确
<input type="button" onclick="alert('1')">-------------------正确

双引号中再用双引号要这样:
var str = "abc\"def\"ghi"
用反斜杠来禁止解析双引号。

下面是我摘录的,希望对你有用:

在一个网页中的按钮,写onclick事件的处理代码,不小心写成如下:
<input value="Test" type="button" onclick="alert(""OK"");" />

IE提示出错后,再漫不经心地改为:
<input value="Test" type="button" onclick="alert(\"OK\");" />

结果还是出错。
这时,我就想不通了,虽然我知道最直接的解决方法是写成这样:
<input value="" type="button" onclick="alert('OK');" />
但为什么javascript中的转义字符\没有效果了呢?

后来找到一段正常的代码:
<input value="Test" type="button" onclick="alert("OK");" />
这时才理解,原来这时,还是归于HTML的管辖范围,所以转义字符应该使用HTML的,而不是javascript的。两个双引号的做法是vbScript的,\"这种做法则是javascript的,而HTML的,则是用",此外还可以使用:"、'。

下面列出各种表达方法:


代码如下:

<html>
<body>
<input value="外双引号内双引号-错误" type="button" onclick="alert("OK");" /><br />
<input value="外单引号内单引号-错误" type="button" onclick='alert('OK');' /><br />
<input value="两个双引号-错误" type="button" onclick="alert(""OK"");" /><br />
<input value="两个单引号-错误" type="button" onclick="alert(''OK'');" /><br />
<input value="\+双引号-错误" type="button" onclick="alert(\"OK\");" /><br />
<input value="\+单引号-错误" type="button" onclick="alert(\'OK\');" /><br />
<input value="外双引号内单引号-OK" type="button" onclick="alert('OK');" /><br />
<input value="外单引号内双引号-OK" type="button" onclick='alert("OK");' /><br />
<input value="外部不使用引号-OK" type="button" onclick=alert('OK');alert("OK"); /><br />
<input value="HTML转义字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br />
<input value="HTML转义字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br />
<input value="HTML转义字符'(& a p o s ;)-IE错误" type="button" onclick="alert('OK');" /><br />
<input value="其它\\-错误" type="button" onclick="alert(\\"OK\\");" /><br />
<input value="其它\& # 3 4 ;-错误" type="button" onclick="alert(\"OK\");" /><br />
</body>
</html>

(0)

相关推荐

  • JavaScript中的单引号和双引号报错的解决方法

    在使用JavaScript显示消息或者传递字符数据的时候,经常会碰到数据中夹杂单引号(')或者双引号("),这种语句往往会造成JavaScript报错.对此一般采用/'或者/"的解决. 例如: Alert("this is test "message"!"); Alert('this is test 'message'!'); 一般会改成以下语句 Alert("this is test /"message/"!&qu

  • 关于JavaScript的单双引号嵌套问题

    单引号和双引号之间可以相互嵌套. 1.单引号内只能嵌套双引号. 2.双引号内只能嵌套单引号. 3.如果想在双引号内,再嵌套双引号,里面的双引号,一定要进行转义(\"). 4.JS中的转义字符是反斜杠(\).常用的转义字符有:\'.\".\\.\r.\n等. 转义字符也就是,当浏览器遇到反斜杠(\)时,将会对其后的一个字符进行特殊对待,当成一个一个普通字符来对待.所谓"普通"字符就是a.b.c.&等. 总结 以上所述是小编给大家介绍的关于JavaScript的

  • js中单引号与双引号冲突问题解决方法

    如何解决js中单引与双引冲突,想下面的这段代码: 复制代码 代码如下: html += ' <a onclick="return removeOpenCss('+e.point.lng+e.point.lat+')">取消</a>'; 这是js中的代码,如果这里这样写的话,会提示js错误,是因为removeOpenCss方法里的参数没有单引或者双引,如果这里,这样写的话: 复制代码 代码如下: html += ' <a onclick="retu

  • JavaScript 限制文本框不可输入英文单双引号的方法

    <input id="workname" style="width: 200px" name="workname" value="" type="text" onkeyup="JavaScript:replaceLikeVal(this)" /> 正则实现replaceAll: function replaceLikeVal(comp){ if (comp.value.ind

  • javascript单引号和双引号的区别和处理

    单引号和双引号其实没啥区别,看你自己习惯了 复制代码 代码如下: <input type="button" onclick="alert("1")">-------------------不正确 <input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样: var str = "a

  • Js参数值中含有单引号或双引号问题的解决方法

    <script type="text/javascript">function Display(LoginEmail, UserName, ID) {        alert(LoginEmail);    }</script> 1.使用单引号传参:<a href="javascript:Display('abc@abc.com','Aleax Xie','10101239393')">Test1</a> 如果其中一

  • javascript 复杂的嵌套环境中输出单引号和双引号

    <a href="javascript:alert('这里有2个单引号一个双引号"\'\' :)');" >引号的嵌套</a> 单引号 ' 的 ASCII码是 39 双引号 " 的 ASCII码是34,所以我们可以用&#xxx;的形式来代替具体的符号.虽然变成了&#xxx;的形式,但是在嵌套环境中仍然要很当心.这里代码里的alert()使用的引号是单引号,alert里的字符串应该转义掉单引号.于是就有了 \'的形式.反之,就要

  • js 单引号替换成双引号,双引号替换成单引号的实现方法

    1.双引号替换成单引号 var _adrobj = JSON.stringify(address).replace(/\"/g,"'");ps: var a = {a:1,b:2}; JSON.stringify(a)====>"{"a":1,"b":2}" 2.单引号替换成双引号 var _nstr = _adrdata.replace(/'/g, '"');ps: var json = JSON.

  • js 赋值包含单引号双引号问题的解决方法

    我的页面是jsp页面,里面包含一个参数:lefttree, 这个lefttree是从后台拼出来的,内容是html代码:如: 复制代码 代码如下: <div class="test" onclick="show('tt1','abc')"> 在jsp页面中,需要通过js代码将这个值付给一个div,如下: 复制代码 代码如下: <script type="text/javascript"> window.parent.docu

  • 浅析Js中的单引号与双引号问题

    单引号和双引号其实没啥区别,看你自己习惯了 <input type="button" onclick="alert("1")">-------------------不正确<input type="button" onclick="alert('1')">-------------------正确 双引号中再用双引号要这样:var str = "abc\"def\

  • 替换php字符串中的单引号为双引号的方法

    实例如下: $param = "{'id':'12', 'name':'hi'}"; $new = preg_replace('/\"/', '"', $param); 以上这篇替换php字符串中的单引号为双引号的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • php中的单引号、双引号和转义字符详解

    PHP单引号及双引号均可以修饰字符串类型的数据,如果修饰的字符串中含有变量(例$name):最大的区别是: 双引号会替换变量的值,而单引号会把它当做字符串输出. 例如: <?php $name="string"; echo " 字符串" . '$name'; echo "字符串" . "$name"; ?> 结果: 字符串$name 字符串string 转义字符,顾名思义会将规定的语法用"\"来

  • PostgreSQL 中的单引号与双引号用法说明

    在pg中的sql,单引号用来标识实际的值,双引号用来标识表名(table name)或列名(column name)等数据库中存在的值. 如,执行一句query: select "name" from "students" where "id"='1' 加上引号的好处在于,当在程序中进行sql拼装的时候,可以简化对值的校验,同时又可以避免sql注入.即在数据库层面完成了事故的避免. 如,同样执行的query: select ";drop

  • python里的单引号和双引号的有什么作用

    在Python当中表达字符串既可以使用单引号,也可以使用双引号,那两者有什么区别吗? python单引号和双引号的区别 简单来说,在Python中使用单引号或双引号是没有区别的,都可以用来表示一个字符串.但是这两种通用的表达方式,除了可以简化程序员的开发,避免出错之外,还有一种好处,就是可以减少转义字符的使用,使程序看起来更简洁,更清晰. 更多学习内容,请点击python学习网. 举个两个例子: 1.包含单引号的字符串 假如你想定义一个字符串my_str,其值为: I'm a student,则

  • python3 中的字符串(单引号、双引号、三引号)以及字符串与数字的运算

    python3中的字符串是一种常见的数据类型. 字符串有多种表现形式:单引号.双引号和三引号,且这些字符串的表现形式(单.双.三)都必须是成对出现的. 单.双引号是英文的:''和"",三引号则是三个单引号或者三个双引号都可以:""" """或者''' ''',在python中打出来时没有顺序之分(其实也看不出来顺序...),在一对引号的中间打上东西就是字符串,例如: #单引号# '123' '小明' 'xyz' #双引号# &

  • PHP的单引号和双引号 字符串效率

    简单的回答,显然是苍白无力的. 今天我们来做个实验,看看到底单引号和双引号有什么区别,谁快,谁慢. 测试代码如下: 复制代码 代码如下: <?php $single_quotes = 'This is a String'; $double_quotes = "This is a String"; echo $single_quotes; echo $double_quotes; $var = 'String'; $single_quotes_var = 'This is a '.

随机推荐