聚合物 - 如何在重复模板中获得下一个相应的元素?

时间:2014-09-19 01:50:48

标签: javascript polymer

抱歉这种具体问题。我试图使用核心崩溃和重复模板制作手风琴并面临一些困难。这是我的手风琴重复模板:

<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');
}

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

有什么见解?我觉得这是格式或模板问题..

1 个答案:

答案 0 :(得分:0)

快速浏览一下这里的文档: http://www.w3schools.com/jquery/traversing_next.asp (请参阅“自己尝试一下&#39;示例&#39;”

我相信你现在的代码正在获得下一个&#39; .accordheader&#39;元素而不是下一个核心崩溃&#39;。

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

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

从未使用&#39;下一步&#39;以前,但我的5美分。