jQuery:Scope在创建新元素时会出错

时间:2014-06-07 13:34:24

标签: javascript jquery scope

我正在尝试为我的网站实施通知功能。但我对下面的代码有一点问题。

具有点击事件的a元素无法访问n。当我点击此按钮时,它会显示Uncaught TypeError: Cannot read property 'id' of undefined。这意味着变量n对于单击函数范围是不可见的。我该如何解决这个问题?感谢。

var n, li, i;
n = JSON.parse( localStorage.getItem('notification') );

for(i=0; i<n.length; i++){
    li = $('<li/>', {
        class: 'success'
    });

    $('<a/>', {
        class: 'close',
        text: '×',
        click: function(){ console.log(n[i].id); } //gives error
    }).appendTo(li);

    $('#user-notifications > ul').append(li);
}

0 个答案:

没有答案