Uncaught SyntaxError:意外的标识符

Dvi*_*evy 7 javascript function

你好我得到JS错误:

 Uncaught SyntaxError: Unexpected identifier
Run Code Online (Sandbox Code Playgroud)

这里

<script type="text/javascript">
var cur_level = 1;
var ids_arr = new Array(<?php echo $max_level?>);
var im_here = new Array(<?php echo $max_level?>);
ids_arr[0] = 1;
im_here[0] = "|";
function displayData(id, level, used, title)
{
if(used){
    choice = document.getElementById('divv'+id).innerHTML;
    document.getElementById('test_div').innerHTML = choice;

} else {
    document.getElementById('test_div').innerHTML = ' No lerning paths to show.';
    updateLinksDiv(id, level, title);

  }
}

function updateLinksDiv(id, level, title)
{
var links_div_info = document.getElementById('links_parent_'+id);
var tmpHTML = '';
var here = '';

for(i=0;i<level;i++){
    here+= '->'+im_here[i];
    links_div_info = document.getElementById('links_parent_'+ids_arr[i]);
    tmpHTML += '<div id="divl_'+links_div_info.id+'">'+links_div_info.innerHTML+'</div>';
}
links_div_info = document.getElementById('links_parent_'+id);
tmpHTML += '<div id="divl_'+links_div_info.id+'">'+links_div_info.innerHTML+'</div>';

document.getElementById('links').innerHTML = tmpHTML;
ids_arr[i] = id;
im_here[i] = title;
}

</script>


<script type="text/javascript">
    window.onload=updateLinksDiv(1 , 0 , "|" ) ;
</script>
Run Code Online (Sandbox Code Playgroud)

功能是假设创建一个"扩展",打开水平,一切都工作正常,直到我添加"标题",我开始得到错误.错误指向我最后,我只是找不到错误...我试着像这样调用displayData

onclick="displayData('.$cat->id.','.$cat->level.',0,'.$cat->title.')"
Run Code Online (Sandbox Code Playgroud)

对于我没有看到的任何建议.

谢谢

Juk*_*ela 8

在你的评论中,你说这displayData(26,1,0,???? ?)是生成的.这解释了症状,因为这里最后一个参数除希伯来字母外还包含一个空格,因此JavaScript解释器将其视为由空格分隔的两个标识符,并且标识符可能未定义.谷歌浏览器提供了您描述的错误消息,而Firefox和IE在论证列表之后更加神秘地说"缺失".

显然,生成的代码应该在引号中包含最后一个参数,即'כיתהג'.您需要修改生成以包含它们.

  • 在另一个浏览器中检查控制台,Brilliant! (2认同)