Javascript 缺少),但仅适用于长字符串
我正在使用JavaScript用其他Javascript 缺少),但仅适用于长字符串,javascript,jquery,html,Javascript,Jquery,Html,我正在使用JavaScript用其他来填充标记。它一直在工作,直到我更改了onclick事件中使用的标识符。旧标识符(索引)只是0-1000之间的一个小数字,但新标识符(id)是uuid.v4()生成的字符串,如下所示: f5ec8170-e75c-4a93-9997-1a683b7d2e00 对于索引和id,我有完全相同的代码。但是,每当我单击按钮(假设该按钮以id作为参数激活函数调用),它都会给我: (缺失)在争论之后 当我点击按钮时不会发生这种情况,该按钮将索引作为参数而不是id执行相同
来填充
标记。它一直在工作,直到我更改了onclick事件中使用的标识符。旧标识符(索引)只是0-1000之间的一个小数字,但新标识符(id)是uuid.v4()生成的字符串,如下所示:
f5ec8170-e75c-4a93-9997-1a683b7d2e00
对于索引和id,我有完全相同的代码。但是,每当我单击按钮(假设该按钮以id作为参数激活函数调用),它都会给我:
(缺失)在争论之后
当我点击按钮时不会发生这种情况,该按钮将索引作为参数而不是id执行相同的操作
我的代码:
var id = messages[i].id;
var index = 0;
var newElement =
'<div class="fullMessage" id="fullRightMessage' + i + '">'+
'<h6 class="textMessage">' + messages[i].comment + '</h6>' +
'<button class="likeButtonMessage" onclick="likeClicked(right, ' + index + ', 1);">LIKE</button>' +
'<button class="dislikeButtonMessage" onclick="likeClicked(right, ' + id + ', -1);">DIS</button>' +
'<h4 id="scoreright' + i + '" class="messageScore">' + messages[i].score + '</h4>' +
'</div>'
var id=messages[i].id;
var指数=0;
var新元素=
''+
''+消息[i].注释+''+
“喜欢”+
“DIS”+
''+消息[i].分数+''+
''
您不能用引号将uuid括起来。因为你的id是一个干净的整数,不需要它们
将id为的行交换到
'<button class="dislikeButtonMessage" onclick="likeClicked(right, \'' + id + '\', -1);">DIS</button>' +
“DIS”+
您以前的ID被解释为int
,这就是它工作的原因
您的新ID是一个字符串
,需要用引号括起来:
onclick="likeClicked(right, \'' + id + '\', -1);"
这是因为这不是有效的代码:
likeClicked(right, f5ec8170-e75c-4a93-9997-1a683b7d2e00, -1)
您需要在
'like'
,@Satpal typo等引号中传递字符串,即id
?id,而不是索引,这将生成糟糕的html-您需要避开撇号,而不是添加双引号谢谢!很高兴我能帮忙。