JS 原生字符串拼接
JavaScript里面的字符串可以直接用 + 来拼接
1 | 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起来:
1 2 3 4 5 6 7 8 9 10 | 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模板
以上都是比较老的解决方案了,用起来也费劲,现在都是用js template进行组装:
1 2 3 4 5 6 7 | 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) |