jQuery .each回调错误

时间:2012-01-26 13:20:41

标签: jquery

我目前正在搞乱jQuery中的.each()函数,我正在尝试使用div项计算所有id并将它们添加到字符串中。

问题是,我从jQuery源获取了一个回调错误,我从jquery.com的网站加载。

var items = "";
$('div.item').each(function(){ 
    items += $('this').data('id');
});

错误,如萤火虫上所见;

callback is undefined
if ( callback.call( object[ i ], i, object[ i++ ] ) === false ) { 

4 个答案:

答案 0 :(得分:10)

我怀疑这不是每个人,而是.data。你可能想要

items += $(this).data('id');

即。使用this作为变量而不是带引号的字符串。

答案 1 :(得分:3)

问题在于您使用的.data()方法:

var items = "";

$('div.item').each(function(){ 
    items += $(this).attr('id');
});

答案 2 :(得分:3)

$(this)代替$('this')

同时检查.data()。试试.attr():)

答案 3 :(得分:1)

尝试以下但我不确定你想从中得到什么。

var items = 0;
$('div.item').each( function() { 
     items += parseInt($(this).attr('id'));
});

使用以xyz开头的id名称来计算id,可以通过以下脚本计算

$('div[id^=xyz-]').length