gpt4 book ai didi

javascript - 内联JS,如何转义函数参数中的引号?

转载 作者:行者123 更新时间:2023-11-28 11:16:32 24 4
gpt4 key购买 nike

这是 JavaScript 中的错误吗? http://jsfiddle.net/SommerEngineering/mr8sZ/

<a href='javascript:test("test")'>Works</a><br/>
<a href='javascript:test("test&quot;")'>Does not work</a>

看起来 JS 进入字符串,将 " 转换回 ",然后尝试执行命令,这当然是错误的。

最佳答案

你是对的。你在那里写的是html,所以html实体&quote;被渲染为双引号",然后作为JavaScript执行。因为test("test ""); 不是有效的 javascript,这将引发错误。如果您想将 test" 传递到函数中,您可以像这样转义引号:test("test\"");

内联 JavaScript 不是一个好的实践,并且存在大量不直观的问题。阅读其中一些结果: Why is inline JS bad?

以下是如何正确执行此操作的示例。

var a = document.getElementById('myElem');

a.addEventListener('click', function() {
test('test"');
});

请注意,获取元素引用的方法有很多,您可能希望使用类并在循环中附加处理程序。

关于javascript - 内联JS,如何转义函数参数中的引号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21064906/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com