JavaScript函数参数变量拼接问题求助:正确传递动态参数至movePage
问题解决方法
- 核心问题有两个:
- JavaScript字符串拼接用
+而非.,你误用了PHP的拼接语法 - 传递字符串类型参数时,需要给变量值加上引号,否则会被当作变量名解析
- JavaScript字符串拼接用
修复后的字符串拼接写法
方式1:使用ES6模板字符串(最简洁)
var country = "Canada"; $(".ap_a").first().prop("onClick", `movePage(3, "${country}")`);
方式2:双引号拼接
var country = "Canada"; $(".ap_a").first().prop("onClick", "movePage(3, '" + country + "')");
方式3:单引号拼接
var country = "Canada"; $(".ap_a").first().prop("onClick", 'movePage(3, "' + country + '")');
更推荐的事件绑定方式
直接用jQuery的on()方法绑定点击事件,完全避免引号拼接的麻烦:
var country = "Canada"; $(".ap_a").first().on('click', function() { movePage(3, country); });
这种方式不需要处理字符串拼接,直接在回调函数里调用movePage并传入变量,代码更清晰易维护。
内容的提问来源于stack exchange,提问作者stevenpepe
相关产品推荐
相关产品推荐

