/ / dijit.TitlePane: Expand / Collapse All - dojo, expand, collapse

dijit.TitlePane: Expand / Collapse All - dojo, expandir, colapsar

Tengo varios paneles de título:

<div class="classname" data-dojo-props="title: "Title Here", open: false" data-dojo-type="dijit.TitlePane">..</div>

Ahora mismo he escrito esto.

<a onclick="dojo.forEach(dijit.registry.toArray(), function(item){  if (item.get("declaredClass")=="dijit.TitlePane"){item.set("open",true)};});">Expand All </a>
<a onclick="dojo.forEach(dijit.registry.toArray(), function(item){  if (item.get("declaredClass")=="dijit.TitlePane"){item.set("open",false)};});">Collapse All</a>

Esto abre y cierra con éxito todo el título.paneles, pero hay otro panel de título usado en la página que no quiero que se vea afectado por esto. Intenté usar dojo.query (". classname"). attr ("open", false); pero eso no funcionó .

No tengo experiencia con dojo / dijits, ¿cómo puedo establecer abierto a verdadero o falso en función de un atributo de clase? Cualquier ayuda sería muy apreciada.

Respuestas

2 para la respuesta № 1

Necesitas el widget para hacer esto, no el objeto dom, y eso es lo que la consulta le está dando el objeto dom.

dojo.query(".classname").forEach(function(node){
dijit.getEnclosingWidget(node).set("open",false);

})