0

2番目のliタグをデフォルトのアクティブタブとして表示しようとしています。私のjqueryコードは

<script type="text/javascript">    
    $(document).ready(function(){
        $('#newtabs div').hide();
        $('#newtabs div:first').show();
        $('#newtabs ul li:first').addClass('active');
        $('#newtabs ul li a').click(function(){ 
            $('#newtabs ul li').removeClass('active');
            $(this).parent().addClass('active'); 
            var currentTab = $(this).attr('href'); 
            $('#newtabs div').hide();
            $(currentTab).show();
            return false;
        });
    });
</script>

これを行うための提案はありますか?

4

4 に答える 4

3

jQueryのドキュメント(http://api.jqueryui.com/tabs/)によるとactive、オプションを設定するときに属性を使用できます。たとえば、次のことができます

$(".selector").tabs({ active: 1 });

これにより、2番目のタブが設定されます(0インデックスに基づく)。

于 2013-02-06T14:31:15.867 に答える
0

これを試して:

$(document).ready(function(){
    $('#newtabs div').hide();
    $('#newtabs div').eq(1).show();
    $('#newtabs ul li').eq(1).addClass('active');
    ...
});
于 2013-02-06T14:30:28.813 に答える
0

それ以外の

$('#newtabs ul li:first').addClass('active');

試す

$('#newtabs ul li').eq(1).addClass('active');

これは、#newtabsに含まれるulが1つだけの場合です。ターゲットにする#newtabs内に複数のulがある場合は、次を使用する必要があります。

$('#newtabs ul li:nth-child(2)').addClass('active');

これは、「親の2番目の子であるすべてのli要素」を選択するため(nth-child()は1ベースのインデックスを使用します)、他のアプローチでは、最初のulの2番目のli子のみを選択します。

于 2013-02-06T14:31:18.953 に答える
0

私があなたの質問を正しく理解しているなら、あなたはただ変えるべきです

$('#newtabs div:first').show();
$('#newtabs ul li:first').addClass('active');

の中へ

$('#newtabs div:eq(1)').show();
$('#newtabs ul li:eq(1)').addClass('active');

eq(1)2番目のオブジェクトをフィルタリングします(インデックスは0から始まります)

于 2013-02-06T14:31:38.087 に答える