[jQuery] Re: How to avoid triggering two patterns that match - from a JavaScript/jQuery lightweight
Try $('.linkify.map:first'). That should return the first matched element. -Hector On Wed, Nov 12, 2008 at 11:04 AM, alanfluff [EMAIL PROTECTED]wrote: Hi, I am trying to limit the scope of a click trigger to the first/next matched target. This works fine if I have one container of class .expander.map but as soon as I add another, they both respond (I guessed they would ;) $('.linkify.map').click(function() { $('.expander.map').show(); }); I have tried using $(this) and .next() but likely not correctly... I am _certain_ this is stupidly simple and I am missing the obvious. Grateful if anyone can point me in the right direction. Cheers lots in advance! [I am a lightweight (little experience) when it comes to JavaScript/ jQuery, so much so that even though I have jQuery Ref and Learning books, I still have not sussed this. What am I like...]
[jQuery] Re: How to avoid triggering two patterns that match - from a JavaScript/jQuery lightweight
Thanks _lots_ for the quick reply Hector -- I'll go try that. Cheers! On Nov 12, 2:22 pm, Hector Virgen [EMAIL PROTECTED] wrote: Try $('.linkify.map:first'). That should return the first matched element. -Hector On Wed, Nov 12, 2008 at 11:04 AM, alanfluff [EMAIL PROTECTED]wrote: Hi, I am trying to limit the scope of a click trigger to the first/next matched target. This works fine if I have one container of class .expander.map but as soon as I add another, they both respond (I guessed they would ;) $('.linkify.map').click(function() { $('.expander.map').show(); }); I have tried using $(this) and .next() but likely not correctly... I am _certain_ this is stupidly simple and I am missing the obvious. Grateful if anyone can point me in the right direction. Cheers lots in advance! [I am a lightweight (little experience) when it comes to JavaScript/ jQuery, so much so that even though I have jQuery Ref and Learning books, I still have not sussed this. What am I like...]
[jQuery] Re: How to avoid triggering two patterns that match - from a JavaScript/jQuery lightweight
Almost what I want - but the first map is always the one shown, I could have explained better, my bad, sorry. Pseudo code for what I have: . . click-to-trigger-map mapOne[div] . . click-to-trigger-map mapTwo[div] . . etc The :first seems to make mapOne display, regardless which click-to- trigger I click. It looks as if the scope of the :first is the whole DOM and no starting from the point where the click occurred and affecting the first instance after it (which is what I want). Thanks in advance for any further help! Cheers, -Alan On Nov 12, 2:36 pm, alanfluff [EMAIL PROTECTED] wrote: Thanks _lots_ for the quick reply Hector -- I'll go try that. Cheers! On Nov 12, 2:22 pm, Hector Virgen [EMAIL PROTECTED] wrote: Try $('.linkify.map:first'). That should return the first matched element. -Hector On Wed, Nov 12, 2008 at 11:04 AM, alanfluff [EMAIL PROTECTED]wrote: Hi, I am trying to limit the scope of a click trigger to the first/next matched target. This works fine if I have one container of class .expander.map but as soon as I add another, they both respond (I guessed they would ;) $('.linkify.map').click(function() { $('.expander.map').show(); }); I have tried using $(this) and .next() but likely not correctly... I am _certain_ this is stupidly simple and I am missing the obvious. Grateful if anyone can point me in the right direction. Cheers lots in advance! [I am a lightweight (little experience) when it comes to JavaScript/ jQuery, so much so that even though I have jQuery Ref and Learning books, I still have not sussed this. What am I like...]
[jQuery] Re: How to avoid triggering two patterns that match - from a JavaScript/jQuery lightweight
You're right, $('.linkify.map:first') will always return the first element that matches linkify.map. If you want to make it in respect to a container, try $('#container').find('.linkify.map') -Hector On Wed, Nov 12, 2008 at 11:49 AM, alanfluff [EMAIL PROTECTED]wrote: Almost what I want - but the first map is always the one shown, I could have explained better, my bad, sorry. Pseudo code for what I have: . . click-to-trigger-map mapOne[div] . . click-to-trigger-map mapTwo[div] . . etc The :first seems to make mapOne display, regardless which click-to- trigger I click. It looks as if the scope of the :first is the whole DOM and no starting from the point where the click occurred and affecting the first instance after it (which is what I want). Thanks in advance for any further help! Cheers, -Alan On Nov 12, 2:36 pm, alanfluff [EMAIL PROTECTED] wrote: Thanks _lots_ for the quick reply Hector -- I'll go try that. Cheers! On Nov 12, 2:22 pm, Hector Virgen [EMAIL PROTECTED] wrote: Try $('.linkify.map:first'). That should return the first matched element. -Hector On Wed, Nov 12, 2008 at 11:04 AM, alanfluff [EMAIL PROTECTED]wrote: Hi, I am trying to limit the scope of a click trigger to the first/next matched target. This works fine if I have one container of class .expander.map but as soon as I add another, they both respond (I guessed they would ;) $('.linkify.map').click(function() { $('.expander.map').show(); }); I have tried using $(this) and .next() but likely not correctly... I am _certain_ this is stupidly simple and I am missing the obvious. Grateful if anyone can point me in the right direction. Cheers lots in advance! [I am a lightweight (little experience) when it comes to JavaScript/ jQuery, so much so that even though I have jQuery Ref and Learning books, I still have not sussed this. What am I like...]
[jQuery] Re: How to avoid triggering two patterns that match - from a JavaScript/jQuery lightweight
I think maybe something like this might work: $('.maps').click(function() { $(this).next('.expander.map').show(); }); That would expand the next map based on whatever was clicked. I hope this helps :) -Hector On Wed, Nov 12, 2008 at 12:04 PM, alanfluff [EMAIL PROTECTED]wrote: Yep. Get that. Tks. However, I am trying to make my code re-useable, right now there are two sets of trigger-and-map markup. I will have 10 to 20. I was hoping to find a jQ construct that would say: if a map-trigger is clicked, I will expand the map that immediately follows it in the DOM. That way I would not need to have an #id for each trigger/map in HTML and the jQ would be one lump of code, not a set of identical lumps, each one handling one of the trigger-and-maps. Thanks again for your reply - sorry if I'm not explaining myself well. Cheers, -Alan On Nov 12, 2:53 pm, Hector Virgen [EMAIL PROTECTED] wrote: You're right, $('.linkify.map:first') will always return the first element that matches linkify.map. If you want to make it in respect to a container, try $('#container').find('.linkify.map') -Hector On Wed, Nov 12, 2008 at 11:49 AM, alanfluff [EMAIL PROTECTED]wrote: Almost what I want - but the first map is always the one shown, I could have explained better, my bad, sorry. Pseudo code for what I have: . . click-to-trigger-map mapOne[div] . . click-to-trigger-map mapTwo[div] . . etc The :first seems to make mapOne display, regardless which click-to- trigger I click. It looks as if the scope of the :first is the whole DOM and no starting from the point where the click occurred and affecting the first instance after it (which is what I want). Thanks in advance for any further help! Cheers, -Alan On Nov 12, 2:36 pm, alanfluff [EMAIL PROTECTED] wrote: Thanks _lots_ for the quick reply Hector -- I'll go try that. Cheers! On Nov 12, 2:22 pm, Hector Virgen [EMAIL PROTECTED] wrote: Try $('.linkify.map:first'). That should return the first matched element. -Hector On Wed, Nov 12, 2008 at 11:04 AM, alanfluff [EMAIL PROTECTED]wrote: Hi, I am trying to limit the scope of a click trigger to the first/next matched target. This works fine if I have one container of class .expander.map but as soon as I add another, they both respond (I guessed they would ;) $('.linkify.map').click(function() { $('.expander.map').show(); }); I have tried using $(this) and .next() but likely not correctly... I am _certain_ this is stupidly simple and I am missing the obvious. Grateful if anyone can point me in the right direction. Cheers lots in advance! [I am a lightweight (little experience) when it comes to JavaScript/ jQuery, so much so that even though I have jQuery Ref and Learning books, I still have not sussed this. What am I like...]
[jQuery] Re: How to avoid triggering two patterns that match - from a JavaScript/jQuery lightweight
Wow! Thanks Hector - I am most grateful to you. I will try this tomorrow and let you know :) Cheers, -Alan On Nov 12, 4:14 pm, Hector Virgen [EMAIL PROTECTED] wrote: I think maybe something like this might work: $('.maps').click(function() { $(this).next('.expander.map').show(); }); That would expand the next map based on whatever was clicked. I hope this helps :) -Hector On Wed, Nov 12, 2008 at 12:04 PM, alanfluff [EMAIL PROTECTED]wrote: Yep. Get that. Tks. However, I am trying to make my code re-useable, right now there are two sets of trigger-and-map markup. I will have 10 to 20. I was hoping to find a jQ construct that would say: if a map-trigger is clicked, I will expand the map that immediately follows it in the DOM. That way I would not need to have an #id for each trigger/map in HTML and the jQ would be one lump of code, not a set of identical lumps, each one handling one of the trigger-and-maps. Thanks again for your reply - sorry if I'm not explaining myself well. Cheers, -Alan On Nov 12, 2:53 pm, Hector Virgen [EMAIL PROTECTED] wrote: You're right, $('.linkify.map:first') will always return the first element that matches linkify.map. If you want to make it in respect to a container, try $('#container').find('.linkify.map') -Hector On Wed, Nov 12, 2008 at 11:49 AM, alanfluff [EMAIL PROTECTED]wrote: Almost what I want - but the first map is always the one shown, I could have explained better, my bad, sorry. Pseudo code for what I have: . . click-to-trigger-map mapOne[div] . . click-to-trigger-map mapTwo[div] . . etc The :first seems to make mapOne display, regardless which click-to- trigger I click. It looks as if the scope of the :first is the whole DOM and no starting from the point where the click occurred and affecting the first instance after it (which is what I want). Thanks in advance for any further help! Cheers, -Alan On Nov 12, 2:36 pm, alanfluff [EMAIL PROTECTED] wrote: Thanks _lots_ for the quick reply Hector -- I'll go try that. Cheers! On Nov 12, 2:22 pm, Hector Virgen [EMAIL PROTECTED] wrote: Try $('.linkify.map:first'). That should return the first matched element. -Hector On Wed, Nov 12, 2008 at 11:04 AM, alanfluff [EMAIL PROTECTED]wrote: Hi, I am trying to limit the scope of a click trigger to the first/next matched target. This works fine if I have one container of class .expander.map but as soon as I add another, they both respond (I guessed they would ;) $('.linkify.map').click(function() { $('.expander.map').show(); }); I have tried using $(this) and .next() but likely not correctly... I am _certain_ this is stupidly simple and I am missing the obvious. Grateful if anyone can point me in the right direction. Cheers lots in advance! [I am a lightweight (little experience) when it comes to JavaScript/ jQuery, so much so that even though I have jQuery Ref and Learning books, I still have not sussed this. What am I like...]
[jQuery] Re: How to avoid triggering two patterns that match - from a JavaScript/jQuery lightweight
:D Thanks SO much Hector! That worked perfectly -- I am *most* grateful to you. Cheers, -Alan On Nov 12, 4:14 pm, Hector Virgen [EMAIL PROTECTED] wrote: I think maybe something like this might work: $('.maps').click(function() { $(this).next('.expander.map').show(); }); That would expand the next map based on whatever was clicked. I hope this helps :) -Hector On Wed, Nov 12, 2008 at 12:04 PM, alanfluff [EMAIL PROTECTED]wrote: Yep. Get that. Tks. However, I am trying to make my code re-useable, right now there are two sets of trigger-and-map markup. I will have 10 to 20. I was hoping to find a jQ construct that would say: if a map-trigger is clicked, I will expand the map that immediately follows it in the DOM. That way I would not need to have an #id for each trigger/map in HTML and the jQ would be one lump of code, not a set of identical lumps, each one handling one of the trigger-and-maps. Thanks again for your reply - sorry if I'm not explaining myself well. Cheers, -Alan On Nov 12, 2:53 pm, Hector Virgen [EMAIL PROTECTED] wrote: You're right, $('.linkify.map:first') will always return the first element that matches linkify.map. If you want to make it in respect to a container, try $('#container').find('.linkify.map') -Hector On Wed, Nov 12, 2008 at 11:49 AM, alanfluff [EMAIL PROTECTED]wrote: Almost what I want - but the first map is always the one shown, I could have explained better, my bad, sorry. Pseudo code for what I have: . . click-to-trigger-map mapOne[div] . . click-to-trigger-map mapTwo[div] . . etc The :first seems to make mapOne display, regardless which click-to- trigger I click. It looks as if the scope of the :first is the whole DOM and no starting from the point where the click occurred and affecting the first instance after it (which is what I want). Thanks in advance for any further help! Cheers, -Alan On Nov 12, 2:36 pm, alanfluff [EMAIL PROTECTED] wrote: Thanks _lots_ for the quick reply Hector -- I'll go try that. Cheers! On Nov 12, 2:22 pm, Hector Virgen [EMAIL PROTECTED] wrote: Try $('.linkify.map:first'). That should return the first matched element. -Hector On Wed, Nov 12, 2008 at 11:04 AM, alanfluff [EMAIL PROTECTED]wrote: Hi, I am trying to limit the scope of a click trigger to the first/next matched target. This works fine if I have one container of class .expander.map but as soon as I add another, they both respond (I guessed they would ;) $('.linkify.map').click(function() { $('.expander.map').show(); }); I have tried using $(this) and .next() but likely not correctly... I am _certain_ this is stupidly simple and I am missing the obvious. Grateful if anyone can point me in the right direction. Cheers lots in advance! [I am a lightweight (little experience) when it comes to JavaScript/ jQuery, so much so that even though I have jQuery Ref and Learning books, I still have not sussed this. What am I like...]