你的代码:var str ='<a href="#" onclick="toPage(\'' + id + '\',\'' + name + '\')"></a>'
假设id=1 name=张三 你会看的更加清楚。
' + id + ' ' + name + ' +这个是js的连接符你应该知道,+号两边为什么有 ' 因为a标签两边用的是 ' 标识的字符串,所以要用 ' 号分割变量和字符串,你应该知道的。
这样你的代码就是:
var str ='<a href="#" onclick="toPage(\' 1 \',\' 张三 \')"></a>'
\是要告诉程序 \后的字符按照字符输出 不是系统标签符号。
这样输出就是:<a href="#" onclick="toPage(' 1 ',' 张三 ')"></a>
为什么要转义呢 因为你的onclick事件已经用 “ 双引号了,为了不冲突,所以方法中用的 ' 单引号,但是‘ 单引号又和 整个a标签字符串外的‘ 号冲突了,所以要转义。
最简单的方式就是将每个字符串都变成数组的一个元素,然后用javascript 数组的join方法将这些字符串拼接起来,下面是简单的代码,仅供参考:
var arr = ['a','a','a','a','a','a','a','a','a']arr.join(' ') //"a a a a a a a a a"
说一下join方法:
join() 方法用于把数组中的所有元素放入一个字符串。
元素是通过指定的分隔符进行分隔的。
语法:
arrayObject.join(separator)
参数:
separator 可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。
返回值:
返回一个字符串。该字符串是通过把 arrayObject 的每个元素转换为字符串,然后把这些字符串连接起来,在两个元素之间插入separator 字符串而生成的。
一般都是字符串转化成INT类型: var str = parseInt(str)如果你确定有一个是字符串有一个是数字的话可以直接用“+”连接符var str = a+b当然,如果a,b都是Int那就是加法运算了,所以最好转化一下。a = a.toFormatString()b= b.toFormatString()var str = a+b