Hide when clicked on same element different parent

Hide when clicked on same element different parent

by xaliber

HTML

<div class="item">
    <a href="">element1</a> <span>span1</span> <br>
</div>

<div class="item">
<a href="">element2</a> <span>span2</span><br>
</div>
    
<div class="item">
<a href="">element3</a> <span>span3</span><br>
</div>
    
<div class="item">
<a href="">element4</a> <span>span4</span><br>
</div>

JavaScript

$('.item span').hide();

$('.item a').click(function(e){
    
    e.preventDefault();
    // hide all span
    var $this = $(this).parent().find('span');
    $(".item span").not($this).hide();
    
    // here is what I want to do
    $this.toggle();
    
});

// Can use this, or with this:
// http://jsfiddle.net/BGSyS/2/

// Hide when clicked outside
// http://stackoverflow.com/questions/2802363/hide-a-element-when-i-click-outside