SyntaxError: identifier starts immediately after numeric literal
今天写了个onclick()方法,有这样的一个变量4028b88161c881ff0161c88b80dc0002
需要把这个变量值传入方法内,但始终不成功:
我发现直接将 var aa =4028b88161c881ff0161c88b80dc0002 ;js是抱错的
解决如下:
参考:http://blog.csdn.net/shalousun/article/details/39995443
https://stackoverflow.com/questions/14966133/syntaxerror-identifier-starts-immediately-after-numeric-literal-in-firebug
$(function(){
var str = "509edbe9-2914-431f-9128-97d368b7da0b";
//错误的写法
var html = '<button class="button" id="ensure" onclick="test(str)">确定</button>';//把字符串作为参数传给函数,直接报错
//正确的写法
var html = '<button class="button" id="ensure" onclick="test(\''+str+'\')">确定</button>';//正确执行,注意第一个\后是两个单引号
$("#dd").append(html);
});
function test(id){
console.log(id);
}
<div id="dd"></div>