Javascript语法错误? "意外的标识符"

时间:2017-12-15 01:10:42

标签: javascript syntax-error

抱歉,我刚刚开始使用javascrippt和html,我很难找到意外的标识符是什么?

这是我的功能

function fillSearchPlayer(data){
$('#searchPlayers tbody').html('');
for (var i = data.length - 1; i >= 0; i--) {
    var p = data[i]
    var item = '<tr><td>'p.firstname + ' ' + p.lastname'</td><td>'p.job'</td><td><button class="cbtn" onclick="requestPlayer("'+ p.identifier + '")">More</button></td></tr>'
    $('#searchPlayers tbody').append('item');
}

}

也许你们可以帮助我,它说它来自以&#34; var item&#34;

开头的那一行

4 个答案:

答案 0 :(得分:1)

'<tr><td>'p.firstname看起来你错过了那里的加号。另一件事是.append('item'); - 您可能打算.append(item);

正如上面直接评论中提到的那样,你应该尝试使用一些模板引擎,而不是像你那样构造字符串。

我建议你阅读这些文章:

答案 1 :(得分:0)

有几个错误。字符串连接与+一起使用,并且您错过了分号。

尝试:

function fillSearchPlayer(data) {
    $('#searchPlayers tbody').html('');
    for (var i = data.length - 1; i >= 0; i--) {
        var p = data[i];
        var item = '<tr><td>' + p.firstname + ' ' + p.lastname + '</td><td>' + p.job + '</td><td><button class="cbtn" onclick="requestPlayer("'+ p.identifier + '")">More</button></td></tr>';
        $('#searchPlayers tbody').append('item');
    }
}

答案 2 :(得分:0)

var item = ...项混合了变量和文字定义,而没有进行真正的连接。只需在每个不同元素之间加上+即可实现目标。

答案 3 :(得分:0)

您需要将连接运算符括在p.job变量周围。

您的作业应如下所示......

var item = '<tr><td>'+p.firstname + ' ' + p.lastname+'</td><td>'+p.job+'</td><td><button class="cbtn" onclick=requestPlayer('+ p.identifier + ')>More</button></td></tr>'