例如要执行一个函数
func(1, 'http://xxx.com', '3.0.0');
<a onclick="func(1, 'http://xxx.com', '3.0.0)"></a>
如果我要把变量uid拼接到第二个参数后面
<a onclick="func(1, 'http://xxx.com'" + uid + ", '3.0.0)">
貌似会报错,还是需要转义?求解
报错信息:Uncaught SyntaxError: Unexpected token ILLEGAL
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果题主想偷懒的话,可以这样:
事件回调函数这样写不好啦~~~~
使用addEventListener方法不好么
<a onclick="func(1, 'http://xxx.com" + uid + "', '3.0.0')">
这样写不会报错,但是应该会出现解析错误,最后代码并不是这种你想要的结构,
<body><a '3.0.0')"="" "',="" uid="" +="" onclick="func(1, 'http://xxx.com"></a></body>
就这样了。
"func(1, 'http://xxx.com"
uid
"', '3.0.0')"
这是3段,HTML并不认识两个双引号之间出现的 +uid+ 是个什么鬼
如果想在这种结构里传入一个js变量,似乎没有办法 ,我本人没遇到过,暂时也想不出来
如果变量是一个后端语言传进来的,即可以在HTML解析的时候变成一个真正的数值,那这么写没问题。
并没有什么问题啊。 楼主画蛇添竹了, 一定要主意 HTML 语法的问题。
不要HTML跟Javascript用混了
另外,楼主的报错,是3.0.0后面,少了一个单引号。
先贴报错信息, 智商过100都知道是我先提醒的题主以后,题主才附上的报错信息,-1之前带上脑子。
<a onclick="func(1, 'http://xxx.com/" + uid + "', '3.0.0')">
你这个定义在script里面的变量怎么可能在 html里面识别。这种情况请用addEventListener。