简体   繁体   English

物化CSS无法以编程方式打开可折叠元素

[英]Materialize CSS cannot open programmatically a collapsible element

Trying to execute the open() method of on a specific collapsible element inside DOM calling the following function: 尝试在DOM中的特定可折叠元素上执行open()方法,并调用以下函数:

vm.openCollapsible = function( projectName )
{

        // This element is the span that contains the project name
        var element = getElementsByText(projectName);
        // We want to reach out its parent which has collapsible as a class and
        // it's 3 elements upwards.
        //console.log(element[0].parentElement.parentElement.parentElement);
        var collapsible_element = element[0].parentElement.parentElement.parentElement;
        var instance = M.Collapsible.getInstance(collapsible_element);
        console.log(instance);
        instance.open(0);
}

I'm sure that I'm selecting the right element because the console.log(instance) is returning me a valid object. 我确定选择了正确的元素,因为console.log(instance)我返回了一个有效的对象。

s {el: ul.collapsible.collapsible-accordion, $el: g(1), options: {…}, $headers: g(1), _handleCollapsibleClickBound: ƒ, …}
$el: g [ul.collapsible.collapsible-accordion]
$headers: g [div.collapsible-header.waves-effect.project-toolbar-box]
el: ul.collapsible.collapsible-accordion
options: {accordion: true, onOpenStart: undefined, onOpenEnd: undefined, onCloseStart: undefined, onCloseEnd: undefined, …}
_handleCollapsibleClickBound: ƒ ()
_handleCollapsibleKeydownBound: ƒ ()
__proto__: s

Any ideas? 有任何想法吗?

Use the following command to open the required collapsible element: $('.collapsible').collapsible('open', 0); 使用以下命令打开所需的可折叠元素:$('。collapsible')。collapsible('open',0);

The 0 indicates the index, you should change it accordingly. 0表示索引,您应该相应地对其进行更改。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM