您的位置:首页 > Web前端 > JavaScript

纯html标签下单引号和双引号以及html和JS混编下单引号和双引号

2012-09-22 17:40 239 查看
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字符集中没有定义,因此需要使用转义字符串来表示。

HTML特殊转义字符列表

最常用的字符实体

Character Entities

显示说明实体名称实体编号
半方大的空白
全方大的空白
不断行的空白格  
<小于<<
>大于>>
&&符号&&
"双引号""
©版权©©
®已注册商标®®
商标(美国)
×乘号××
÷除号÷÷
其他字符

字符十进制转义字符字符十进制转义字符字符十进制转义字符
?¡¡ÁÁÁááá
¢¢Âˆâââ
££ÃÃÃããã
¤¤¤ÄÄÄäää
¥¥ÅÅ˚ååå
|¦¦ÆÆÆæææ
§§§ÇÇÇççç
¨¨¨ÈÈÈèèè
©©©ÉÉÉééé
aªªÊÊÊêêê
?««ËËËëëë
?¬¬ÌÌÌììì
\x7f­­ÍÍÍííí
®®®ÎÎÎîîî
ˉ¯¯ÏÏÏïïï
°°°ÐÐÐðð&ieth;
±±±ÑÑÑñññ
2²²ÒÒÒòòò
3³³ÓÓÓóóó
´´ÔÔÔôôô
μµµÕÕÕõõõ
?ÖÖÖööö
···×××÷÷÷
?¸¸ØØØøøø
1¹¹ÙÙÙùùù
oººÚÚÚúúú
?»»ÛÛÛûûû
?¼¼ÜÜÜüüü
?½½ÝÝÝýýý
?¾¾ÞÞÞþþþ
?¿¿ßßßÿÿÿ
ÀÀÀààà
——————————————————————————————————————

javascript转义字符

转义字符含义
\b退格
\tTAB,水平
\vTAB,垂直
\n回车换行
\r换行
\"双引号
\'单印号
\\\
\uhhhh十六进制编码的Unicode字符
——————————————————————————————————————

<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转义字符 "-ok" type = "button" onclick="alert( "ok" );" />

</body>
</html>

//事件绑定函数alert中的参数,如果是数字可以直接写,如果是字符串要加单引号,其他函数也是这样

//项目中的对比:

1、传递参数为字符串

searchResultContent = searchResultContent + "<tr><td align='center'>" + i + "</td><td align='center'>" + graphic.attributes["NAME"] + "</td><td align='center'>摄区</td><td align='center'>类型</td><td align='center'>生产时间</td>" + "<td align='center'" +
"onclick = generateDetails('" + graphic.attributes["NAME"] + "');" + ">详细信息</td></tr>";

2、传递参数为数字

searchResultContent = searchResultContent + "<A " +"onclick = lightenGraphic(" + index + "," + position + ");" +
"href=\"javascript:void(0)\";>" +graphic.attributes["zonename"] + "</A>" + "
";

3、

//事件绑定函数中传递参数,如果参数是数字,不用单引号,如果是字符串,要用单引号;

//并列绑定的事件之间不需要加入分号,否则后边的事件不能绑定

searchResultContent = searchResultContent + "<A " +

"onmouseout = unlightenGraphic(" + index + ") " +

"onclick = lightenGraphic(" + index + "," + position + ");" +

"href=\"javascript:void(0)\"; style=\"cursor:pointer\";>" +

graphic.attributes["zonename"] +

"</A>" + " ";

特别提示:

在THINKPHP中未开使用自动验证功能前,以上提及的纯html标签(未测试JS、PHP等混编)式不管单双引号的。

eg:

<form action='__URL__/add' method='post'>

用户名:<input type='text' name='username' /><br>

密码:<input type='password' name='password' /><br>

重复密码:<input type='repassword' name='repassword' /><br>

<input type='submit' value='注册' />

</form>

以上代码是可以通过的。

但是若使用表单“自动验证”就必须用双引号形式书写

eg: <!-- 前面是form表单-->

<form action="__URL__/add" method="post">

用户名:<input type="text" name="username" /><br>

密码:<input type="password" name="password" /><br>

重复密码:<input type="repassword" name="repassword" /><br>

<input type="submit" value="注册" />

</form>

否则将出现不可预知的错误,不会报错。提示404
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: