javascript - js 特殊符号处理
天蓬老师
天蓬老师 2017-04-11 10:17:39
[JavaScript讨论组]

有一段js代码,类似于下面这样:


testString1='test';
testString2='test'+','+'test1 test2';
String = '<p style="cursor: pointer" onclick="test('+testString+')">'+'</p>'

当testString为testString1的时候onclick能够触发test()function,但是当testString为testString2的时候就会报错“Uncaught SyntaxError: missing ) after argument list”。我到网上查说是特殊符号处理的问题,因为2里面有逗号和空格。请问要怎么处理这些特殊符号呢?最好不要是写死的代码,因为我testString2里面的内容其实是个变量,里面有很多东西,但大多含有空格。请问这种问题要怎么处理呢?
我试了下这样的写法:

String = '<p style="cursor: pointer" onclick="test('+testString1+","+testString1+')">'+'</p>'

这样能解决逗号的问题,但是空格的问题还是解决不了,怎么办呢?

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(4)
阿神

当做一个字符串传进去 onclick="test(\''+testString+'\')"

PHPz

test 如果是 string 的话,外面还需要用引号吧

巴扎黑

你还是没理解外面用引号的意思。

string = '<p style="cursor: pointer" onclick="test(' + "\'" + testString2 + "\'" + ')"></p>

楼下的更好。。。

高洛峰

把字符串改成字符串数组:

function element(params) {
  return `<p style="cursor: pointer"
      onclick="test(${params.map(e=>`'${e}'`).join(',')})"></p>`
}


testString1 = ['test']
element(testString1)
testString2= ['test', 'test1 test2']
element(testString2)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号