Pass a callback function to set one or many values on every element in an Elements collection.
function replaceFooWithBar(string){ return String(string).replace(/\bfoo\b/g,'bar'); }; $$('a').setEach('href', function(currentHref, i){ return currentHref + '?foo=bar'; }); $$('a').setEach('html',[ "New foo HTML!", function(html){ return html + ' appended moar foo!'; }, replaceFooWithBar, function(html,i){ return html + ' Index is ' + i; } ]); $$('a').setEachStyle({ 'color': function(currentColor, i) { i = i.toString(16); return ['#', i, i, i].join(''); }, 'background-color': function(currentColor, i) { i = (15 - i).toString(16); return['#', i, i, i].join(''); } });
Only works with an Elements collection, usually gotten by using $$.
This will not work with individual elements. e.g. $('myid').setEach() will throw an error. Use $$('#myid').setEach() instead.
A note on comments here: These comments are moderated. No comments will show up until they are approved. Comments that are not productive (i.e. inflammatory, rude, etc) will not be approved.
Found a bug in this plugin? Please report it this repository's Github Issues.
blog comments powered by Disqus