在一個(gè)網(wǎng)頁中的按鈕,寫onclick事件的處理代碼,不小心寫成如下: <input value="Test" type="button" onclick="alert(""OK"");" /> IE提示出錯(cuò)后,再漫不經(jīng)心地改為: <input value="Test" type="button" onclick="alert(\"OK\");" /> 結(jié)果還是出錯(cuò)。 這時(shí),我就想不通了,雖然我知道最直接的解決方法是寫成這樣: <input value="" type="button" onclick="alert('OK');" /> 但為什么javascript中的轉(zhuǎn)義字符\沒有效果了呢?
后來找到一段正常的代碼: <input value="Test" type="button" onclick="alert("OK");" /> 這時(shí)才理解,原來這時(shí),還是歸于HTML的管轄范圍,所以轉(zhuǎn)義字符應(yīng)該使用HTML的,而不是javascript的。兩個(gè)雙引號的做法是vbScript的,\"這種做法則是javascript的,而HTML的,則是用",此外還可以使用:"、'。
下面列出各種表達(dá)方法: <html> <body> <input value="外雙引號內(nèi)雙引號-錯(cuò)誤" type="button" onclick="alert("OK");" /><br /> <input value="外單引號內(nèi)單引號-錯(cuò)誤" type="button" onclick='alert('OK');' /><br /> <input value="兩個(gè)雙引號-錯(cuò)誤" type="button" onclick="alert(""OK"");" /><br /> <input value="兩個(gè)單引號-錯(cuò)誤" type="button" onclick="alert(''OK'');" /><br /> <input value="\+雙引號-錯(cuò)誤" type="button" onclick="alert(\"OK\");" /><br /> <input value="\+單引號-錯(cuò)誤" type="button" onclick="alert(\'OK\');" /><br /> <input value="外雙引號內(nèi)單引號-OK" type="button" onclick="alert('OK');" /><br /> <input value="外單引號內(nèi)雙引號-OK" type="button" onclick='alert("OK");' /><br /> <input value="外部不使用引號-OK" type="button" onclick=alert('OK');alert("OK"); /><br /> <input value="HTML轉(zhuǎn)義字符"(& # 3 4 ;)-OK" type="button" onclick="alert("OK");" /><br /> <input value="HTML轉(zhuǎn)義字符'(& # 3 9 ;)-OK" type="button" onclick="alert('OK');" /><br /> <input value="HTML轉(zhuǎn)義字符"(& # x 2 2 ;)-OK" type="button" onclick="alert('OK');" /><br /> <input value="HTML轉(zhuǎn)義字符'(& # x 2 7 ;)-OK" type="button" onclick="alert('OK');" /><br /> <input value="HTML轉(zhuǎn)義字符"(& q u o t ;)-OK" type="button" onclick="alert("OK");" /><br /> <input value="HTML轉(zhuǎn)義字符'(& a p o s ;)-IE錯(cuò)誤" type="button" onclick="alert('OK');" /><br />
<input value="其它\\-錯(cuò)誤" type="button" onclick="alert(\\"OK\\");" /><br /> <input value="其它\& # 3 4 ;-錯(cuò)誤" type="button" onclick="alert(\"OK\");" /><br /> </body> </html>
|