[英]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.