Question

How do you increment the value of a data attribute for all of the siblings of an object?

This works:

$('#id').data('position')+1

but this doesn't

$('#id').siblings().data('position') + 1;
Was it helpful?

Solution

Because .siblings() return an array of elements, therefore .data may not work. You have to iterate all element one by one like this

$('#id').siblings().each(function(){
   $(this).data('position') + 1; ///
})

OTHER TIPS

you need to iterate through siblings

var siblings=$('#id').siblings();
siblings.each(function(i,v){
   alert($(this).data('position') + 1);
   //do your stuff
})
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top