jQuery - 'undefined'的事件处理程序出错:TypeError:无法调用undefined的方法'replace'

时间:2011-07-07 11:33:01

标签: jquery django google-chrome

我有自己的模板,头上有这个代码:

  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.2/jquery-ui.min.js"></script>
  <script type="text/javascript" src="{{MEDIA_URL}}emotions.js"></script>

但在Chrome代码观众中,我总是有:

Error in event handler for 'undefined': TypeError: Cannot call method 'replace' of undefined

emotions.js:

$(function(){
        $('.emotion').click(function(){
                  var id = $(this).parent().attr('id')
                  $.post("something/vote/", { emotion: "emotion", id: "id" } )
        $('.vote_value').text('You give your vote')});
});

有什么可能出错的建议吗?

3 个答案:

答案 0 :(得分:2)

我几乎可以保证,如果你记录$('.vote_value'),你将得到未定义。确保你在dom中有一个元素。

答案 1 :(得分:0)

如果您要求html()元素的<title>,也会出现此错误。例如:

var title = $('title');
var t = title.html();
//-> Error in event handler for 'undefined': TypeError: Cannot call method 'replace' of undefined
var t = title[0].childNodes[0].nodeValue;
//-> "Welcome to My Page!"

答案 2 :(得分:0)

我也有这个错误。我刚刚关闭了“adBlock”扩展程序。比我重新启动我的服务器,错误消失了。