Hrm... That "worked", but it's taking longer than I'd like, and it's not really consistent. I'll just go another route. Thanks for the input guys.
On Oct 29, 11:44 am, "Josh Nathanson" <[EMAIL PROTECTED]> wrote: > Andy - window.onload is called only after all images are loaded, so you can > do this: > > $(window).load(function() { > $("img").each(function() { > alert( this.offsetWidth>500 ); > }); > > }); > > -- Josh > > ----- Original Message ----- > From: "Andy Matthews" <[EMAIL PROTECTED]> > To: "jQuery (English)" <jquery-en@googlegroups.com> > Sent: Wednesday, October 29, 2008 9:24 AM > Subject: [jQuery] Re: Getting width of broken image? > > Okay... > > I figured out why it's not working. My code is firing before the > images are fully loaded, therefore the width of the image is zero > until the browser downloads the image. > > I installed a click event on each image which reported the actual > width correctly. > > So, how might I only run this code AFTER the images have loaded? > > $('img').each(function(){ > alert(this.offsetWidth>500); > }); > > Alternately, is there a way to test to see if the image is broken > using jQuery? > > On Oct 29, 10:54 am, ricardobeat <[EMAIL PROTECTED]> wrote: > > Besides the bracket weidc mentioned, is your document valid? > > > I get the correct image width by using width() on both IE and FF. > > Alternatively you can check for the offsetWidth attribute. > > > $('img').each(function(){ > > alert(this.offsetWidth>500); > > > }); > > > On Oct 29, 11:30 am, "Andy Matthews" <[EMAIL PROTECTED]> > > wrote: > > > > I'm loading in a batch of images dynamically. Some of the images might > > > not > > > exist and I'm wondering how I might test for that image using jQuery > > > (1.2.6). All I really want to do is to remove that img from the DOM so > > > that > > > it doesn't show on the page. > > > > I thought at first it would be simple enough to test the width of the > > > image. > > > All the valid images should be around 600 pixels wide, whereas the > > > broken > > > image should be 30 or so. > > > > I tried this: > > > > ${'img').each(function(){ > > > alert( $(this).width() ); > > > > }); > > > > But I got 0 for both a valid, and invalid, image. Anyone have any ideas? > > > > andy