带有eq(索引)的Jquery克隆函数

时间:2012-06-05 15:01:18

标签: jquery indexing clone

我有许多类似的div,id为tictab ..我想让第一个tictab不可见,并在最后添加它的克隆。我使用以下代码

$('#leftButton').click(function(){      
    $('#tictab').clone().insertBefore('#rightButton');

    $('#tickers').find('#tictab').eq(ind).css('display','none');

    ind++;  
});

ind从0开始。但我面临的问题是,jquery使克隆的tictabs因某种原因也不可见......我猜这是因为eq()函数索引中的一些问题。任何人都可以告诉我正确的方法。

2 个答案:

答案 0 :(得分:2)

您不能拥有具有相同ID的多个元素。如果它们之间需要这种类型的关系,请使用公共类名,而不是常用的id名称。 id属性是指文档中任何其他元素都找不到的唯一值。

听起来好像要克隆最新的.tictab元素,隐藏它,在#rightButton之前插入它,并显示上一个隐藏的克隆。如果是这种情况,以下内容将起作用:

$("#leftButton").on("click", function(){
    $(".tictab:last").show().clone().hide().insertBefore("#rightButton");
});​

小提琴:http://jsfiddle.net/jonathansampson/dpze5/

答案 1 :(得分:0)

使用class代替id来识别不同的div但具有相同的类。