Javascript错误:';缺少)在参数列表之后“;

Javascript错误:';缺少)在参数列表之后“;,javascript,html,Javascript,Html,我正在通过javascript为我的网页制作图像,如下所示: photoHTMLString = '<li class = "SliderPhoto"><img src = "' + ImageArray[x].src_small + '" size = "thumb" onclick = "ShowImagePopUP(' + ImageArray[x].src_big + ')" class = "FacebookSliderPhoto"/></li>'

我正在通过javascript为我的网页制作
图像
,如下所示:

photoHTMLString = '<li class = "SliderPhoto"><img src =  "' + ImageArray[x].src_small + '" size = "thumb" onclick = "ShowImagePopUP(' + ImageArray[x].src_big + ')" class = "FacebookSliderPhoto"/></li>';
看起来我并没有遗漏任何错误,所以我对错误感到迷茫。
有什么建议吗?

您需要将
ShowImagePopUP
的内容用引号括起来:

"ShowImagePopUp(\'' + ImageArray[x].src_big + '\')"
其应呈现为:

ShowImagePopUp('http://a8.sph...389_84095143389_5917147_2636303_n.jpg')
               ^ note the quote here

示例:

需要引用
ImageArray[x].src_big
中的值

尝试通过将字符串混合在一起来避免构建HTML。使用DOM生成器可以提供更易于调试的代码

您最好编写这个函数,以便该函数基于小URI计算大URI,而不是将其硬编码。

试试看

photoHTMLString = '<li class = "SliderPhoto"><img src =  "' 
                + ImageArray[x].src_small 
                + '" size = "thumb" onclick = "ShowImagePopUP(\"' 
                + ImageArray[x].src_big + '\")" class = "FacebookSliderPhoto"/></li>';

这里有一些一般性的建议,将字符串构建成中间变量,然后在末尾组装它。然后,您可以使用调试器找出“或”不平衡的地方。当您构建了所有的“或”时,您可以根据需要将其合并成一行,或者将其与中间变量一起保留。

引号也因为某种原因而未显示
“ShowImagePopUp(\''+ImageArray[x].src\u big+'\'))“
是否显示图像弹出窗口?”http://a8.sph...389_84095143389_5917147_2636303_n.jpg“)work(硬编码到页面中)?允许在URL中使用单引号,
encodeURIComponent('\''=='\'')
,因此即使您知道图像src是有效的URI,您可能应该将单引号和反斜杠替换为
\'
或类似的内容
ImageArray[x].src\u big.replace(/['\\]/g,\\\$&”)
应该这样做。
photoHTMLString = '<li class = "SliderPhoto"><img src =  "' 
                + ImageArray[x].src_small 
                + '" size = "thumb" onclick = "ShowImagePopUP(\"' 
                + ImageArray[x].src_big + '\")" class = "FacebookSliderPhoto"/></li>';
function slideElement(image){
    var li=document.createElement('li');
    var img=document.createElement('img');
    li.appendChild(img);
    li.setAttribute('class','SliderPhoto');
    img.setAttribute('class','FacebookSliderPhoto');
    img.setAttribute('size', 'thumb');
    img.setAttribute('src', image.src_small);
    img.setAttribute('onclick', function(){showImagePopUP(image.src_big);});

    return li;
}