2012-08-30 24 views
0

我在運行.each函數時遇到問題,當單擊其外部的鏈接時打開/關閉div。該功能的作品,除了我希望它可以用於幾個不同的div(現在,missiondiv和visiondiv)。所以我創建了一個變量前綴,它可以找到一個span的id,並以此爲前綴運行該函數。 (對不起,如果沒有意義)。我的腳本僅適用於第一個跨度ID。 http://jsfiddle.net/jessica_b/KMJPf/可變toggleClass

的HTML鏈接:

<div id="whoweare"> 
<span id="mission"><a href='#'>Mission</a></span></br> 
<span id="vision"><a href='#'>Vision</a></span></br> 
</div> 

HTML的DIV:

<div id="missiondiv" class="closed">Mission item</div> 
<div id="visiondiv" class="closed">Vision item</div> 

JavaScript函數:

$.each($("#whoweare").find("span").attr("id"), function(){ 
    var prefix = $("#whoweare").find("span").attr("id"); 
    $('#' + prefix + ' a').click(function() { 
     $('#' + prefix + 'div').toggleClass("closed"); 
     $('#' + prefix + 'div').toggleClass("item block"); 
     $(this).toggleClass('active-page'); 
     $container.isotope('reLayout'); 
    }); 
}); 

它運行的同位素內,但所有這一切是加工。該錯誤駐留在上述腳本中,並且我在jQuery中不夠精通,無法診斷我的錯誤!謝謝!

回答

1
$('#whoweare span a').each(function(index, element) { 
    $(element).click(function() { 
     var prefix = $(this).parent('span').attr('id'); 
     $('#' + prefix + 'div').toggleClass("closed"); 
     // other actions 
     return false; 
    }); 
});​ 

http://jsfiddle.net/MtX7p/16/

OR

$('#whoweare span').each(function(index, element) { 
    $(element).find('a').click(function() { 
     var prefix = $(element).attr('id'); 
     $('#' + prefix + 'div').toggleClass("closed"); 
     // other actions 
     return false; 
    }); 
});​ 

http://jsfiddle.net/MtX7p/17/

這是您的完整的腳本:http://jsfiddle.net/KMJPf/49/

+0

謝謝你,這是這麼多高雅的比我了。我不知道(索引,元素)。 –