【发布时间】:2014-04-21 05:12:18
【问题描述】:
我想知道如何保持在通过 callFunction() 传递给 JavaScript 函数的文本中同时包含单引号和双引号的能力?以下所有三个案例似乎都失败了。
混合单引号和双引号会起作用,但我希望能够在我的文本块中同时使用单引号和双引号。很好奇为什么浏览器会在将 html 特殊字符传递给 Javascript 函数之前对其进行评估。
谢谢,罗宾
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<script type="text/javascript">
function callFunction(text){
alert(text);
}
</script>
</head>
<body>
<!--This will not work due to '-->
<a href="javascript: callFunction('Robin's Text')">Robin's Text</a>
<br />
<br />
<!--And this will not work due to "-->
<a href='javascript: callFunction("Robin"s Text")'>Robin"s Text</a>
<br />
<br />
<!--Trying with a slash but not working either-->
<a href='javascript: callFunction("Robin\'s Text")'>Robin's Text</a>
</body>
</html>
【问题讨论】:
-
&#039;是HTML转义码,需要用JS一\u0027(注意从dec改为hex) -
@david,没有 OP 只需要在 JavaScript 中使用正确的转义字符,然后是正确的 HTML 实体。
标签: javascript htmlspecialchars