Javascript函数调用.字符串中的转义引号
Javascript function Call. Escape quotes in strings
我的问题是,如何在Javascript中转义引号?我正试图用下面的代码提醒消息。我知道它不会起作用,因为它在onClick
函数调用中包含双引号字符串,并且它给出了语法错误。我该怎么做?我的条件是我不能在函数调用中使用单引号作为参数。
<html>
<head>
<script type="text/javascript">
function litString(vals)
{
alert(vals);
}
</script>
</head>
<body>
<?php echo "Just for a Test<br/>"; ?>
<a href="#" onClick="litString("test one")"><h2>JS String Literal</h2></a>
</body>
</html>
更新:我的实际意图是使以下PHP+JS代码组合工作:
echo '<li><a href="#" title="'.$res_bb['eng'].'" onClick=loadChap('.$res_bb['id'].','.$res_bb['chapters'].',"'.$res_bb['mal'].'")><font size="2">'.$res_bb['mal'].'</font></a></li>';
用反斜杠'
转义引号
<a href="#" onClick="litString('"test one'")"><h2>JS String Literal</h2></a>
也可以用单引号:
<a href="#" onClick="litString('test one')"><h2>JS String Literal</h2></a>
或者您可以在属性周围使用单引号,在属性内使用双引号:
<a href="#" onClick='litString("test one")'><h2>JS String Literal</h2></a>
如果你回显字符串,它会变得有点棘手,因为你还必须处理PHP的引号。这里我通过转义单引号生成了上面的第二个版本。
echo '<li><a href="#" title="'.$res_bb['eng'].'" onClick="loadChap('.$res_bb['id'].','.$res_bb['chapters'].','''.$res_bb['mal'].''')"><font size="2">'.$res_bb['mal'].'</font></a></li>';
我刚刚测试了这个输入:
$res_bb = array('eng'=> "Title", 'id'=> 10, 'chapters'=> 13, 'mal'=> "Foo bar");
输出为:
<li><a href="#" title="Title" onClick="loadChap(10,13,'Foo bar')"><font size="2">Foo bar</font></a></li>
我建议使用addEventListener
和data-*
属性以获得更清晰的方法:
<a href="#" id="someButton" data-litString="test one">...
<script>
var link = document.getElementById('someButton');
link.addEventListener('click', function () {
var vals = this.getAttribute('data-litString');
alert(vals);
});
</script>
对HTML属性使用单引号:
onClick='litString("test one")'
但这不是一个真正的解决方案。您需要以某种方式转义这些双引号
也许这样比较好…
<li><a href="#" title="<?php echo $res_bb['eng']; ?>" onClick=loadChap("<?php echo $res_bb['id']; ?>", "<?php echo $res_bb['chapters']; ?>"," <?php echo $res_bb['mal']; ?>")><font size="2"><?php echo $res_bb['mal']; ?></font></a></li>
相关文章:
- 是否可以将一个函数输入连接到另一个函数调用的文本
- 在输入字段上有两个函数调用,一个在Blur上,一个不在Angular中
- 如何在Javascript函数调用中循环变量
- Javascript:应为赋值或函数调用,但实际看到的却是表达式
- 如何远程检查JavaScript应用程序的函数调用堆栈
- javascript函数调用不起作用
- 为什么这个函数调用会破坏程序并导致未定义的变量
- 如何通过函数调用设置图像的src
- 从全局函数调用Ember控制器上的方法
- 为什么Jquery$.ajax在函数调用中触发所有statusCode,即使调用成功
- JavaScript函数调用(arg1)(arg2)
- 打印链接时,将javascript函数调用到链接中
- 在函数调用中封装数据除了隐藏数据之外还有什么优点
- 无法从JavaScript中的函数调用对象属性
- 对中的函数调用进行排序是回调的唯一方法
- 函数调用方法有什么用
- Javascript:JSHint:应为赋值或函数调用,但实际看到的却是表达式
- 在传递给下一个函数之前转义 Javascript 调用
- 转义函数调用的变量
- Javascript函数调用.字符串中的转义引号