0

当单击外部链接时,我在运行 .each 函数以打开/关闭 div 时遇到困难。该功能有效,但我希望它适用于几个不同的 div(现在,missiondiv 和 visiondiv)。所以我创建了一个变量前缀,它找到一个跨度的 id 并以 this 作为前缀运行函数。(对不起,如果这没有意义)。我的脚本仅适用于第一个跨度 ID。http://jsfiddle.net/jessica_b/KMJPf/

链接的 HTML:

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

div 的 HTML:

<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 的熟练程度还不足以诊断我的错误!谢谢!

4

1 回答 1

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/

或者

$('#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/

于 2012-08-30T18:03:55.930 回答