gpt4 book ai didi

javascript - 如何将 anchor 标记格式化为字符串?

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

这一行:

return '<a href="javascript:SomeFunction('+ var1 + ',' + var2 + ')"; > Stars </a>';

呈现此:

<a href="javascript:SomeFunction(Pure Magic,4)" ;=""> Stars </a>

它看起来像一个正确的 anchor 标记,但单击它时会出现此错误:

Uncaught SyntaxError: missing ) after argument list

我确信这个错误具有误导性,因为有问题的括号就在那里。

我错过了什么?

提前致谢。

最佳答案

由于 var1 包含一个字符串值,因此您需要将其引起来:

return '<a href="javascript:SomeFunction(\'' + var1 + '\',' + var2 + ');"> Stars </a>';

如果字符串可以包含需要转义为字符串文字的字符,或者需要进行 URI 编码,则需要更多代码:

return '<a href="javascript:' + encodeURIComponent('SomeFunction(\'' + var1.replace("\\", "\\\\").replace("'", "\\'") + '\',' + var2 + ');') + '"> Stars </a>';

生成这样的代码很复杂,而且很容易出错。如果可能,您应该生成元素,以便可以直接设置属性而不是为其创建代码。使用 jQuery 的示例:

return $('<a>', { href: '#', text: ' Stars ' }).click(function(e){
e.preventDefault();
SomeFunction(var1, var2);
});

关于javascript - 如何将 anchor 标记格式化为字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31810277/

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