Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jQuery UI accordion中找到包含特定元素的accordion选项卡的索引?_Javascript_Jquery_Jquery Ui_Accordion - Fatal编程技术网

Javascript 如何在jQuery UI accordion中找到包含特定元素的accordion选项卡的索引?

Javascript 如何在jQuery UI accordion中找到包含特定元素的accordion选项卡的索引?,javascript,jquery,jquery-ui,accordion,Javascript,Jquery,Jquery Ui,Accordion,我有一个手风琴(档案)的链接/日期。当用户单击一个时,我正试图将手风琴展开到当前选定的链接。为此,我在accordion中搜索与当前URL匹配的链接,然后将accordion扩展到该链接 HTML <div class="desktop"> <div id="blog-archive-accordion"> <h3 id="archive" class="title">Archive</h3> <di

我有一个手风琴(档案)的链接/日期。当用户单击一个时,我正试图将手风琴展开到当前选定的链接。为此,我在accordion中搜索与当前URL匹配的链接,然后将accordion扩展到该链接

HTML

<div class="desktop">
    <div id="blog-archive-accordion">
        <h3 id="archive" class="title">Archive</h3>
        <div id="blog-archive-accordion-year">      
            <h4>2016</h4>       
            <ul>
                <li class="month">November (0)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=10">October</a> (5)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=9">September</a> (11)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=8">August</a> (8)</li>
                ....
            </ul>
            <h4>2015</h4>       
            <ul>
                <li class="month">November (0)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=10">October</a> (5)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=9">September</a> (11)</li>
                <li class="month"><a class="current-archive-link" href="/website/archive?filter[year]=2016&amp;filter[month]=8">August</a> (8)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=7">July</a> (9)</li>
                ....
            </ul>
            <h4>2014</h4>       
            <ul>
                <li class="month">November (0)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=10">October</a> (5)</li>
                <li class="month"><a class="" href="/website/archive?filter[year]=2016&amp;filter[month]=9">September</a> (11)</li>  
                ....              
            </ul>
        </div>
    </div>
</div>
在上面的例子中,我使用
.accordion('option','active',1)强制accordio操作
即:



    将在两个
    标记上使用accordion,第二个标记的索引为3而不是此
    .accordion()
    函数所需的1。

    您可能正在查找此。只需将此函数添加到您的手风琴函数调用中,它将为您提供h4标记的索引。希望这有帮助

      activate: function(evt, widget ) {
            var index = $(this).find("h4").index(widget.newHeader[0]);            
        }
    
    
    $("#blog-archive-accordion-year").accordion({ 
           header: "h4",
           activate: function(evt, widget ) {
                var index = $(this).find("h4").index(widget.newHeader[0]);            
            }    
        });
    

    您可以使用
    index
    函数获取父元素中当前元素的索引/位置(也可以基于标记名使用)

    检查示例:

    <h4></h4>
    <ul></ul>
    <div></div>
    <h4></h4>
    <div></div>
    
      activate: function(evt, widget ) {
            var index = $(this).find("h4").index(widget.newHeader[0]);            
        }
    
    
    $("#blog-archive-accordion-year").accordion({ 
           header: "h4",
           activate: function(evt, widget ) {
                var index = $(this).find("h4").index(widget.newHeader[0]);            
            }    
        });
    
    selectedArchiveLink.parent().index('ul')