js中的引号使用不正确导致js方法传入参数类型错误

主要讲一下在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方法解析参数会拼接' '  

实际此引号只是是告诉是字符串类型,在方法中没有引号,控制台打印参数如下:




猜你喜欢

转载自blog.csdn.net/weixin_38391672/article/details/80681248