Hello, ok... so thou yes it works... and I am thankful for you guys for helping, it through a monkey wrench into the fallowing code... may- be some one could give me a hand on "this" ... (thats was the area of issues before :-)
here is the code with the changes as suggested above... $('[class^=Round_gen]').filter(function(){ return /Round_gen[0-9]+/.test( $(this).attr('class') ); }).each(function(){ var n = $(this).attr('class').match(/[0-9]+/); $(this).each(function() {var $this = $(this); var params = $(this).attr('rel').split(':'); $(this).flash({flashvars: { right_off : ['' + params[4] + ''], left_off : ['' + params[5] + ''] .join(' ') } }, { version: 8 }, function(htmlOptions) { htmlOptions.src = params[0]; htmlOptions.width = params[1]; htmlOptions.wmode = params[3]; htmlOptions.style = ""; this.innerHTML = '<div class="clear_children">'+this.innerHTML+'</ div>'; htmlOptions.height = this.firstChild.offsetHeight; $this.addClass('').prepend($.fn.flash.transform(htmlOptions)); //////////////////////////////////////////////////////////// //////there is probly a better way to target come back to (try not to use .clear_childern) swicth to $this???? //////////////////////////////////////////////////////////// $ (this).contents("[nodeType=1]").not(".clear_children").addClass("sizeME"); var self = this; function doSomething() { var NEWheight = self.childNodes[1].offsetHeight; $ (this).contents("[nodeType=1]").not(".clear_children").height(NEWheight +'px'); }; //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// var resizeTimer = null; $(window).bind('resize', function() { if (resizeTimer) clearTimeout(resizeTimer); resizeTimer = setTimeout(doSomething, 3); }); }); }); }); this was the way it was.... Which worked... $('.Round2').each(function() {var $this = $(this); var params = $(this).attr('rel').split(':'); $(this).flash({flashvars: { right_off : ['' + params[4] + ''], left_off : ['' + params[5] + ''] .join(' ') } }, { version: 8 }, function(htmlOptions) { var $this = $(this); var params = $(this).attr('rel').split(':'); htmlOptions.src = params[0]; htmlOptions.width = params[1]; htmlOptions.wmode = params[3]; htmlOptions.style = ""; this.innerHTML = '<div class="clear_children">'+this.innerHTML+'</ div>'; htmlOptions.height = this.firstChild.offsetHeight; $this.addClass('').prepend($.fn.flash.transform(htmlOptions)); //////////////////////////////////////////////////////////// //////there is probly a better way to target come back to (try not to use .clear_childern) swicth to $this???? //////////////////////////////////////////////////////////// $ ('.Round2').contents("[nodeType=1]").not(".clear_children").addClass("targetME2"); var self2 = this; function doSomething2() { var NEWheight2 = self2.childNodes[1].offsetHeight; $ ('.Round2').contents("[nodeType=1]").not(".clear_children").height(NEWheight2+'px'); }; //////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////// var resizeTimer2 = null; $(window).bind('resize', function() { if (resizeTimer2) clearTimeout(resizeTimer2); resizeTimer2 = setTimeout(doSomething2, 3); }); }); }); The short of it is that I was needing to have the first child element be the same height and it's next sibling... I worked hard to get it going and I did... the problem the whole time was that I was not able to target the first child and change the height based on the offset height of the first child's next sibling... but the way I have it above did work... and was promising... but with the suggest changes I can't see a way to fix it as "this" was the issue the first time around... any ideas on this? thank you for the help jeremyBass On Sep 23, 5:16 pm, ricardobeat <[EMAIL PROTECTED]> wrote: > There is no need for quotes as everything is already a string. > > Jeremy, you need to understand what's going on: > > $('[class^=Round_gen]').filter(function(){ > // checks for any element where the 'class' attribute starts with > 'Round_gen' > > return /Round_gen[0-9]+/.test( $(this).attr('class') ); > // 'test' is a method of the regular expression, that will test this > element's attribute 'class' against it, returning true or false. there > is no attribute called 'Round_gen' > > }).each(function(){ > > var n = $(this).attr('class').match(/[0-9]+/); > // again, we are testing the CLASS attribute against the > regex, this will return the matched part (i.e the numbers in the > classname) > > //in here you also want your code for each element, $(n) is not gonna > do anything as n is just a number, use $(this) > > }); > > hope it's clearer now! > > - ricardo > On Sep 23, 6:13 pm, tlphipps <[EMAIL PROTECTED]> wrote: > > > > > Just need some quotes around the class name (I forgot to include some > > quotes in my example too) > > > This should work: > > $("[class^='Round_gen']") > > > On Sep 23, 4:04 pm, jeremyBass <[EMAIL PROTECTED]> wrote: > > > > So tring to get this going I did > > > > var n = ''; > > > $('[class^=Round_gen]').filter(function(){ > > > return /Round_gen[1-9][0-9]+/.test( $(this).attr('Round_gen') > > > );}).each(function(){ > > > > var n = $(this).attr('Round_gen').match(/[0-9]+/); > > > > }); > > > > $('.Round_gen'+n+'').each(function() {...ect > > > > and Got it picking up .Round_gen only ... not Round_gen9 or > > > Round_gen99 > > > > I think I'm close > > > thanks for the help... > > > jeremyBass > > > > On Sep 23, 11:49 am, jeremyBass <[EMAIL PROTECTED]> wrote: > > > > > So let say the class was named Round_gen9 > > > > > I'd replace > > > > > $('.Round_gen9'').each(function() {....etc > > > > > with > > > > > $('[class^=Round_gen]').filter(function(){ > > > > return /Round_gen[0-9]+/.Round_gen( $(this).attr('Round_gen') > > > > );}).each(function(){ > > > > > var n = $(this).attr('Round_gen').match(/[0-9]+/); > > > > // the number after 'class' for current element}); > > > > > $('n').each(function() {....etc > > > > > nothing is showing up... so I don't think this is fully right (I mean > > > > what I wrote) > > > > ideas?? > > > > > Thanks for the help here... > > > > jeremyBass > > > > > On Sep 23, 11:26 am, ricardobeat <[EMAIL PROTECTED]> wrote: > > > > > > Using [class^=class] is your best bet, the other option is to loop > > > > > over all the possibilities and that is a no-go. Coupled with the > > > > > filter function this will give you all elements with classX where X is > > > > > a number: > > > > > > $('[class^=class]').filter(function(){ > > > > > return /class[0-9]+/.test( $(this).attr('class') > > > > > );}).each(function(){ > > > > > > var n = $(this).attr('class').match(/[0-9]+/); // the number > > > > > after 'class' for current element > > > > > > }); > > > > > > hope this helps. > > > > > > - ricardo- Hide quoted text - > > - Show quoted text -