Onclick事件失败但显示错误

时间:2012-08-31 17:04:15

标签: javascript javascript-events onclick

我有一个JavaScript函数,它应该动态生成<div>并使用<li></li>填充div。 onclick标记上有<li></li>个事件调用函数,但单击时,该函数不显示。请帮我。我浏览器上的控制台显示以下错误Uncaught SyntaxError: Unexpected token }。我的代码示例如下。

function showItem(categoryName) {
    cleanDiv();
    var alphabet = "A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z";
    var alphabetArray = [];
    alphabetArray = alphabet.split(",");
    var stringData = '<div id="alphabet-menu"><h1>' + categoryName + '</h1><ul>';
    var letter;
    for (var i = 0; i < 26; i++) {
        letter = alphabetArray[i];
        stringData = stringData + '<li onclick="getData("' + categoryName + '","' + letter + '");">' + letter + '</li>';

    }
    stringData = stringData + '</ul></div><div id="list-menu"><input type="button" onclick="animateRight();"  value="Back"></input>' + '<div id="home-button" onclick="animateRight();"><img src="img/home.png"></div></div>';
    document.getElementById("content").innerHTML = '' + stringData + '';
}

function getData(category, letter) {
    alert(category + letter);
}

2 个答案:

答案 0 :(得分:1)

更改您的代码如下

letter = alphabetArray[i];
stringData = stringData+'<li onclick="getData(\''+categoryName+'\',\''+letter+'\');">'+letter+'</li>';

答案 1 :(得分:1)

getData声明中存在语法错误。这是一个工作小提琴:http://jsfiddle.net/CfRBc/