current code
I’ve built function to do something over collection of jQuery elements:
var collection = $([]); //empty collection
I add them with:
collection = collection.add(e);
and remove with:
collection = collection.not(e);
It’s pretty straightforward solution, works nicely.
problem
Now, I would like to have an object consisting of various settings set to any jQuery element, i.e.:
function addObject(e){
var o = {
alpha: .6 //float
base: {r: 255, g: 255, b: 255} //color object
}
e.data('settings', o);
}
But when I pass jQuery object/element to function (i.e. as e), calling e.data doesn’t work, although it would be simplest and really nice solution.
question
If I have an "collection" of jQuery elements, what is the simplest way of storing some data for each element of set?
Ah, solved it already 🙂
last version:
This is somewhat simplified code:
solution
Problem was, that I wanted to keep myself option to add element via
$('element'),'element', or$(this), so I had to addtypeofcheck before setting data – the same way jQuery works.if I’m adding element as selector only, it’s
$(e), if I’m adding jQuery object, it’se:So you all get upvote, and I’ll pick myself as a winner in two days, so anyone who will stumble upon this question will know what to do (clearly, tested, works :]) and why 🙂
Edit: note: This probably isn’t final version – I have read more documentation, so this
setDatafunction supports all types whichjQuery.addsupports.