2014-09-19 49 views
0

对于某种特定问题感到抱歉。我正在尝试使用core-collapse和重复模板制作手风琴,并面临一些困难。这是我的手风琴重复模板:聚合物 - 如何获得重复模板中的下一个相应元素?

<template repeat="{{item, i in items}}"> 
    <div class="accordheader" on-click="{{toggle}}">{{item}}</div> 
    <template repeat="{{content, i in contents}}"> 
     <core-collapse class="collapse"> 
      <p>{{content}}</p> 
     </core-collapse> 
    </template> 
</template> 

,这里是我的脚本:

toggle: function() { 
    //get whichever 'accordheader' clicked on 
    var collapseGetting = this.shadowRoot.querySelector('.accordheader'); 
    console.log(collapseGetting); 

    //find the core-collapse that is directly underneath it 
    var collapse = $(collapseGetting).next('core-collapse'); 
    console.log(collapse); 

    //toggle that particular core-collapse 
    collapse.toggle(); 
    console.log('toggled'); 
} 

现在我的切换完全打破,实际上不会切换任何东西。我仍然收到'切换'控制台日志,但没有发生任何事情。我不确定是否正确定位下一个核心崩溃,甚至无法正确嵌套重复模板。基本上我有2个阵列,[items][contents]我正在检索我的项目为每个.accordheader和我的内容为每个core-collapse

任何见解?我觉得这是一种格式或模板的问题..

回答

0

具有这里的文档快速浏览一下: http://www.w3schools.com/jquery/traversing_next.asp (见“亲自尝试”示例“)

我相信你当前的代码正在获取下一个'.accordheader'元素,而不是下一个'核心崩溃'。

如果我已经解释的链接正确,那么它应该是这个样子:

$('core-collapse').Next(console.log(collapse);); 

之前从未使用过“下一步”,但有我的5美分。