在一个网页中的按钮,写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>
以上是http://hi.baidu.com/han_han_108/blog/item/d1dfe094c661034cd0135e72.html转载
我是为了做JavaScript动态创建一个图像,并点击图像往另一个函数传字符串,之前怎么也传不过去
str += '<img id="i' + this.obj + nodeId + '" src="' + ((node._io) ? node.iconOpen : node.icon) + '" alt="" onClick="zkmshow("imytree' + nodeId + '")"/>';
所以大家不能忽视HTML语言的特定标示,如空格是 单引号就是" 他们有时作用很大
分享到:
相关推荐
总结来说,单引号和双引号在JavaScript中没有本质区别,它们都可以用来界定字符串。但在HTML中嵌入JavaScript代码时,要注意引号的使用和转义字符的正确使用。不同的环境使用不同的转义规则,要根据具体情况选择合适...
在JavaScript和jQuery中,单引号(')和双引号(")主要用来定义字符串。根据编程习惯和语法规则,它们之间并没有本质的区别,都可以用来创建和使用字符串。然而,当涉及到字符串嵌套时,就需要巧妙地选择使用哪种...
3. **模板字符串**:ES6引入了模板字符串(``` ` ```),可以在字符串内部直接使用变量或表达式,同时支持原始的双引号和单引号。 ```javascript var str = `This is a "string" example.`; ``` ### 描述解析:...
不像PHP中对双引号和单引号处理方式的明显区别,JavaScript中两者几乎是等价的。只要在定义字符串时保持引号的一致性,即开闭引号一致,不管是单引号还是双引号都是有效的。在JavaScript中,无论使用单引号还是双...
个人开发的一款JS拼接工具,代码挺简单的,不过挺实用,欢迎大家测试,向我提出bug。 主要应用在JS拼接,省去了你直接打单引号或者双引号的痛苦。
在JavaScript编程语言中,字符串是数据类型的一种,通常使用单引号 `'` 或双引号 `"` 来定义。在某些场景下,我们可能需要将字符串中的单引号替换为双引号,或者反过来,双引号替换为单引号。这种需求在处理JSON对象...
总的来说,处理JavaScript参数值中的单引号和双引号问题,主要依赖于正确的转义和选择合适的引号包围策略。确保在字符串中适当转义特殊字符,并注意保持字符串的整体性,避免因空格引起的解析错误。通过这种方式,...
总的来说,JavaScript中处理单引号与双引号冲突的方法多种多样,选择哪种方法取决于具体情况和开发者的偏好。在编写代码时,只要注意合理使用引号,并在必要时进行转义或替换,就能有效避免引号冲突带来的问题。此外...
正确处理字符串中的单引号和双引号是JavaScript编程中的一个重要环节,尤其是在动态构建字符串时。使用转义字符或Unicode转义序列是解决这个问题的常用方法。掌握这些技术能够帮助开发者避免常见的语法错误,编写更...
在JavaScript编程中,字符串的表示通常使用单引号(')或双引号(")。在简单的嵌套情况下,我们通常遵循一个规则:外部使用的引号类型与内部字符串中的引号类型不同,以便正确地关闭字符串。例如: ```javascript ...
JSON.parse() 方法用于将一个 JSON 字符串转换为对象。 >str1 = {'distance': 1, 'update_time': 'None', 'n_homalt_N_het': '13/3822', 'ratio': '-', 'quality': '451'} {'distance': 1, 'update_time': 'None', '...
首先,我们要理解双引号和单引号在JavaScript中的区别。在JavaScript中,双引号(`"`)和单引号(`'`)都可以用来定义字符串,但是当一个字符串内部需要包含另一种类型的引号时,就需要进行转义。例如,如果你用双引号...
在JavaScript编程语言中,字符串是使用单引号('')或双引号("")来定义的。在处理字符串时,经常会遇到单双引号的嵌套问题,这是为了在字符串内部包含另一层引号而不中断字符串的定义。以下是关于JavaScript中单双引号...
在JavaScript编程语言中,单引号 `'` 和双引号 `"` 都被用来创建字符串。这个主题,"js 单双引号",涉及到它们的使用、差异以及最佳实践。 1. **创建字符串** 在JavaScript中,单引号和双引号都是用于创建字符串的...
在JavaScript编程中,单引号(')和双引号(")都是用来表示字符串的界定符号,基本上在大多数情况下可以互换使用。然而,它们之间的使用差异主要体现在字符串的嵌套和转义序列方面,尤其在与HTML结合使用时,正确的使用...