最近维护一个老系统,里面有大量js拼接字符串的代码,这里总计一下js拼接字符串javascript
JavaScript里面的字符串能够直接用 + 来拼接java
return "<a style='text-decoration:underline' onClick='" + valsAr[1] + " return false;" + "' data-rowId='" + row_id + "' href='javascript:;' title='" + valsAr[0] + "'>" + valsAr[0] + "</a> ";
以上就是拼接一个带js事件的a标签,能够看出来里面混合了单引号和双引号,用起来相对的费劲。数组
由于单引号和双引号结合在一块儿,因此能够用js的array进行分开操做,最后在join起来:blog
data.push("<a style='text-decoration:underline' onClick='"); data.push(valsAr[1]); data.push(' return false;'); data.push("' data-rowId='"); data.push(row_id); data.push("' href='javascript:;' title='"); data.push(valsAr[0]); data.push("'>"); data.push(valsAr[0]); data.push( "</a> ");
这其实和上面的方法差不都,只是用数组将要用+的隔开而已事件
以上都是比较老的解决方案了,用起来也费劲,如今都是用js template进行组装:ip
var strTem = "<a style='text-decoration:underline;color:#color#' onClick='#click# return false;' data-rowId='#rowId#' href='javascript:;' title='#title#' >#title#</a> "; var values = {}; values["color"] = color; values["click"] = valsAr[1]; values["title"] = valsAr[0]; values["rowId"] = row_id; template(strTem, values)
js的拼接如今通常用模板,这里记录如下字符串