主要讲一下在js中使用单引号拼接html元素。
问题:
$('#classInfos').append('<tr><tdid="'+o.value+'">'+o.title+'</td><td><a href="javascript:" onclick="removeItem('+o.value+')">删除</a> </td> </tr>')
准备在table标签下面的tbody(id=“classInfos”)下面拼接tr和td,标签里面涉及到一个方法(removeItem()),方法里面含有参数,当调用方法时候报错如下:
错误提示:Uncaught SyntaxError: Invalid or unexpected token
调查后发现,是参数中含有字母,如果是纯数字就不会报错,js把他当成数字类型解析了,所以报错。
解决方法:
在参数(o.value)两边加上专一字符 \' 等价于 '
$('#classInfos').append('<tr><td id="'+o.value+'" >'+o.title+'</td> <td> <a href="javascript:" onclick="removeItem(\'' +o.value+ '\')">删除</a> </td> </tr>')
效果:
js方法解析参数会拼接' '
实际此引号只是是告诉是字符串类型,在方法中没有引号,控制台打印参数如下: