0

我有 2 个 UL,其中一个是我的链接,另一个是图像。

我希望能够从一个列表中单击一个 LI,然后让它显示来自另一个 ul 的链接 li。我希望我已经解释得足够好。

我试图索引 uls 以提出解决方案,但到目前为止还没有运气。请参阅下面的我的尝试。任何帮助都非常感谢。我对 jQuery 相当陌生。

JSFIDDLE

<ul class="options">
    <li class="active">Option 1</li>
    <li>Option 2</li>
    <li>Option 3</li>
</ul>

<ul class="destination">
    <li class="active">Destination 1</li>
    <li>Destination 2</li>
    <li>Destination 3</li>
</ul>

    $(function(){

    $(".options li").each(function(index) {
        $(this).addClass('option' + index);
    });

    $(".destination li").each(function(index) {
        $(this).addClass('destination' + index);
    }); 

    $(".options li").click(function(e){
        $(".options li").removeClass('active');   
        $(this).addClass('active');    
    });

});
4

3 回答 3

1

尝试这个:

$(".options li").each(
    function(index) {
        $(this).click(function() {
            $(".active").removeClass('active');
            $(this).addClass('active');
            $(".destination li").eq(index).addClass('active');
        })   
    }
);

您可以使用index参数 of.each()来确定索引并将其保存在匿名.click函数中。

JSFIDDLE

于 2013-09-09T17:18:43.960 回答
0

我认为这将是最简单的方法:

    $(".options li").click(function(e){
        $(".options li").removeClass('active');        
        $(this).addClass('active'); 
        $(".destination li").removeClass('active');
        $('.destination li').eq($(this).index()).addClass('active');
    });

小提琴

于 2013-09-09T17:17:15.300 回答
0
$(function(){
    $(".options li").click(function(e){ 
        $(this).addClass('active').siblings().removeClass('active');
        $('.destination li:eq(' + $(this).index() + ')').addClass('active').siblings().removeClass('active');
    });
});

小提琴

于 2013-09-09T17:14:25.273 回答