项目中经常遇到对ajax提交后返回的结果动态显示在页面上,这时候就需要在js中进行字符串的拼接。额...其实普通的拼接字符串并没多大难度系数,只要保证单引号和双引号相间就可以了。但是,如果在拼接字符串中嵌入值,或者增加带有一个或多个参数的方法的链接,那么单双引号的问题就略微有些难搞了。
1.嵌入值拼接
利用加号在两个字符串之间嵌入值。加号可以连接两个字符串。
"<img src=" + result[i].photo + " alt=''/>"2.拼接带有一个或多个参数的方法链接
单双引号相间,如果单单、双双在一起,就利用转义字符。方法里的参数不是作为嵌入值,所以要形成字符串的形式。
"<a href=\"javascript:getProductDetail('"+result[i].spec+"','"+result[i].name+"')\">" "<a href='javascript:getProductDetail(\""+result[i].spec+"\",\""+result[i].name+"\")'>"以上两种形式都是正确的,但是采用以下的形式,浏览器会报Uncaught SyntaxError:Unexcepted end of input的错。
"<a href='javascript:getProductDetail(\'"+result[i].spec+"\',\'"+result[i].name+"\')'>"虽然这种形式也满足上面的规则,但是浏览器会出现匹配错误,因为第一个单引号是对href属性值的总括,而第二个转义的单引号的期望作用是对参数值的总括,但浏览器并没有这么智能,所以匹配出错。
日ji