html5中双引号和单引号的区别是什么?

html-css023

html5中双引号和单引号的区别是什么?,第1张

单独html标签时,单引号和双引号区别:

<html>

<head>

</head>

<body>

<input type = submit value = 提交1>

<input type = "submit" value = "提交2">

<input type = 'submit' value = '提交3'>

</body>

</html>

输出完全一样,故在纯html标签下以上三种写法是完全等效的。

2. 在JS混编情况下html标签的双引号和单引号区别:

转义字符串(Escape Sequence)也称字符实体(Character Entity)。在HTML中,定义转义字符串的原因有两个:第一个原因是像“<”和“>”这类符号已经用来表示HTML标签,因此就不能直接当作文本中的符号来使用。为了在HTML文档中使用这些符号,就需要定义它的转义字符串。当解释程序遇到这类字符串时就把它解释为真实的字符。在输入转义字符串时,要严格遵守字母大小写的规则。第二个原因是,有些字符在ASCII字符集中没有定义,因此需要使用转义字符串来表示。

1.单引号和双引号基本都是一种概念,但是二者一起出现时,需要特别注意

2.单引号包含双引号的时候,里面的双引号不用转义,反之亦然

看下面代码:

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

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

双引号中再用双引号要这样(用转义符):

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参数中有单引号与双引号的问题,但这有限制: 参数与参数之前不能有空格,参数值中不能空格,如果有空格,则用" "来代替.

总体来说没啥区别,只是当单引号中单引号当普通字符使用易于区分,省的转义

比如说

"test'1'

",都用单引号时候要这样,

'test\'1\'

'

,用转义字符(\')代替

单引号