【问题标题】:How to get element within accordion event in jQuery如何在jQuery中获取手风琴事件中的元素
【发布时间】:2015-06-18 13:01:48
【问题描述】:

我正在使用以下脚本来检测点击事件,因此手风琴项目展开,我需要获得具有 .cellArrow 类的 div

HTML

<div class="cellArrow"></div> 

JS

 $("#accordionContainer").on("accordionbeforeactivate", function (event, ui) {

       var cellArrow = $(this).find(".cellArrow");
};

问题是手风琴的每个部分都有这个类,所以这里我有所有.cellArrow 类。

我的问题是如何在触发的手风琴元素中准确地获得&lt;div&gt;

谢谢!

附:这是我拥有的 HTML:

<div id="accordionContainer">
    <h3>Item 1
        <div class="cellArrow"></div> 
    </h3>

    <div>First content panel</div>

    <h3>Item 2
        <div class="cellArrow"></div> 
    </h3>

    <div>Second content panel</div>
</div>

【问题讨论】:

  • 发布您的完整手风琴部分 HTML 代码
  • @Girish 当然,看看问题。
  • 看答案,对你有帮助
  • 请检查是否有任何类添加到您的 h3 标签中,如果是,那么您可以使用该类。大多数情况下,它将打开和关闭类添加到 h3

标签: javascript jquery accordion jquery-ui-accordion


【解决方案1】:

试试这个代码,

$(function() {
  $("#accordionContainer").accordion();
  $("#accordionContainer").on("accordionbeforeactivate", function(event, ui) {

    var cellArrow = $('> .cellArrow',ui.newHeader);
    alert(cellArrow.html());
  });

})
<link href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css" type="text/css" rel="stylesheet">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js" type="text/javascript"></script>

<div id="accordionContainer">
  <h3>Item 1
        <div class="cellArrow">1</div> 
    </h3>

  <div>First content panel</div>

  <h3>Item 2
        <div class="cellArrow">2</div> 
    </h3>

  <div>Second content panel</div>
</div>

【讨论】:

    【解决方案2】:

    你的选择器应该是:

    var cellArrow = $(ui.newHeader).find('.cellArrow');
    

    https://api.jqueryui.com/accordion/#events

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2011-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-20
    相关资源
    最近更新 更多