我目前正在搞乱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 ) {
答案 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