Scratch my "working" example -- the .find( 'img' ) evidently can't find the image....
On Tue, Dec 16, 2008 at 4:50 PM, ken <jqu...@kenman.net> wrote: > I am trying to do the following: > > 1) create an IMG > 2) assign an SRC to the IMG > 3) wrap the IMG in <br/>'s > 4) insert the resultant HTML into #foo > > I have been hammering at this for awhile now, and am having problems; I've > tried using wrap and some of the other content-manipulation methods, but I > still can't get the implementation down to something short and sweet > (referencing jQuery only once). This is the best I've got so far: > > var html = jQuery( '<br/><img/><br/>' ) > .find( 'img' ).attr( 'src', 'image.gif' ).end(); > > jQuery( '#foo' ).html( html ); > > I realize that I could use the literal expression in place of the "html" > variable, but that's no better IMO. > > What I originally started out doing, was something like this: > > jQuery( '<img/>' ).attr( 'src', 'image.gif' ).wrap( '<br/><br/>' > ).replaceAll( '#foo' ); > > But, replaceAll removes the node (I only want to change its contents). > > What I've noticed, is that the jQuery API provides alternative forms of 3 > methods (that I don't see used very often): append, prepend, and replace. > These 3 support both of the followng forms, and I believe they are 100% > interchangeable: > > jQuery( selector ).method( html ); > jQuery( html ).methodTo( selector ); > > However, .html(), which is arguably more popular, only has the 1st form, > but not the second. Is there an alternative form for html() that I'm > missing, or is this a hole in the API that apparently isn't wanted? > > Thanks in advance! >