Show/hide multiple elements independently
<p>I am using Andy Langton's show/hide jQuery code but looks like the code has some glitches when you use multiple toggles on the same page. </p>

<p>When using multiple Show/Hide it would not toggle to the correct word. It seemed to track the last toggle overall rather than the setting for each link. In other words, if I clicked 'More' on the first article, it would change to 'Less'. If I pressed 'More' on the next article without hiding the previous, it would stay at 'More', and if I try and hide the first article now, that word remained 'Less'.</p>

<p>This fiddle demonstrates the issue: <a href="http://jsfiddle.net/faramarz/XCYrX/" rel="nofollow">http://jsfiddle.net/faramarz/XCYrX/</a></p>

<p>This is the code I am using:</p>

<pre><code>// Andy Langton's show/hide/mini-accordion - updated 23/11/2009
// Latest version @ http://andylangton.co.uk/jquery-show-hide
$(document).ready(function() {

    // choose text for the show/hide link - can contain HTML (e.g. an image)
    var showText='MORE &amp;darr;';
    var hideText='LESS &amp;uarr;';

    // initialise the visibility check
    var is_visible = false;

    // append show/hide links to the element directly preceding the element with a class of "toggle"
    $('.toggle').prev('.moree').append('&lt;a href="#" class="toggleLink"&gt;'+showText+'&lt;/a&gt;');

    // hide all of the elements with a class of 'toggle'
    $('.toggle').hide();

    // capture clicks on the toggle links
    $('a.toggleLink').click(function() {

    // switch visibility
    is_visible = !is_visible;

    // change the link depending on whether the element is shown or hidden
    $(this).html( (!is_visible) ? showText : hideText);
    //$(this).html( ($(this).html() == hideText) ? showText : hideText);

    // toggle the display - uncomment the next line for a basic "accordion" style
    //$('.toggle').hide();$('a.toggleLink').html(showText);
    $(this).parent().next('.toggle').toggle('slow');

    // return false so any link destination is not followed
    return false;

    });
    });
</code></pre>

<p>Any help to fix this would be appreciated.</p>

<p>Marz</p>
