使用动态命名赋值动态创建的Jquery选项卡

Jquery Tabs created dynamically with dynamic naming assignments

本文关键字:动态 Jquery 选项 创建 赋值      更新时间:2023-09-26

我正在使用jquery ui选项卡创建动态选项卡,它将在没有任何内容的情况下开始。据我所知,我的代码正在构建一切并将其放在适当的位置,但jquery不将它们识别为选项卡。如何让它识别页面加载后创建的新选项卡?

html代码:

    <div class="main">
    <div>
        <button id="new">button</button>
    </div>
    <div id="tabs">
        <ul>
            <li><a href="#tabs-1">View1</a></li>
            <li><a href="#tabs-2">View2</a></li>
            <li id="createView"><a href="null">Create New</a></li>
        </ul>
        <div id="tabs-1">
            <p>something on this page</p>   
        </div>
        <div id="tabs-2">
            <div>
                <p>something else on this page</p>
            </div>
        </div>
    </div>
</div>​​​​​​​​
Javascript:

//Tabs functionality
    $('#tabs').tabs();
    //Create new view

    var tabNum = 3;
    $('#new').click(function() {
        $('#tabs ul').append('<li>' + '<a href="' + '#tabs-' + tabNum + '">' + 'newitem' + '</a>' + '</li>');
        $('#tabs').append('<div id="' + 'tabs-' + tabNum + '">' + '<div>new</div>' + '</div>');
        var NewViewNum = 'tabs-' + tabNum;
        $(NewViewNum).focus();
        tabNum++;
    });​

jQuery UI选项卡有一个refresh方法,您可以根据文档使用。

试着调用:

$("#tabs").tabs("refresh");