This is like a 300 level JavaScript lesson right here...
document.getElements('img').each(function(img, index){
img.addEvent('click', function(index) {
alert(index + 1);
}.bind(this, index));
});
// or
document.getElements('img').each(function(img, index){
img.addEvent('click', function(index) {
alert(index + 1);
}.pass(index));
});
I will leave it as an exercise to the reader to figure out why your
code is wrong, and this code is right ;)
- tom
On Mar 2, 2009, at 6:52 PM, Matt Thomson wrote:
Hi does anyone know how I would do this:
html:
<div id="img_holder">
<img src="img1.gif" />
<img src="img2.gif" />
<img src="img3.gif" />
</div>
javascript:
this.imageArray = $('img_holder').getElements('img');
this.imageArray.each(function(el,index)
{
el.addEvent('click', function()
{
alert(index + 1);
//if image 1 is clicked I want it to alert "1"
//if image 2 is clicked I want it to alert "2"
//presently index is undefined
});
});
Thanks,
Matt.