未定义的变量错误,不应该是变量

时间:2012-07-02 10:57:30

标签: javascript jquery variables

我在jquery中创建了一段代码,为变量分配了一个href属性。这是代码:

$('#reactions' + i).attr('href', 'javascript:comments ('+entry.url+','+i+');');

这应该分配对javascript函数注释的调用。现在我想在jquery移动按钮上使用该调用,如下所示:

document.write('<a href="#" id="reactions' + i + '" data-role="button" class="ui-btn-right">Reactions</a>');

但是这样做会给我一个FF和Chrome。这是FF±

的错误
  

未捕获的异常:ReferenceError:未定义的变量:i_heart_chaos_ihc_after_dark_independence_day_through_a_bullhornthis_is_what   在javascript中的第1行第0列引发错误:comments(i_heart_chaos_ihc_after_dark_independence_day_through_a_bullhornthis_is_what,1);:       评论(i_heart_chaos_ihc_after_dark_independence_day_through_a_bullhornthis_is_what,1);

在此,i_heart_chaos_ihc_after_dark_independence_day_through_a_bullhornthis_is_whatentry.url的值。

我只是不明白为什么会出现这个错误,据我所知,一切都应该有效。 我知道有些问题与我的相似,但我找不到答案。如果你想看到整个来源,那就是here

2 个答案:

答案 0 :(得分:3)

带引号的Surround entry.url:

    $('#reactions' + i).attr('href', 'javascript:comments ("'+entry.url+'",'+i+');');

答案 1 :(得分:0)

解决问题的最佳方法是“jQuery方式”。不添加执行JavaScript的href属性,而是添加单击事件:

$('#reactions' + i).click( function() {
    comments( entry.url, i );
});

同样不要使用document.write(),而是使用jQuery函数向文档中添加元素。