3

我有多个标题窗格:

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

现在我写了这个

<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>

这成功地打开和关闭了所有标题窗格,但是页面中使用了另一个标题窗格,我不想受此影响。我尝试使用 dojo.query('.classname').attr('open',false); 但这没有用。

我没有使用 dojo/dijits 的经验,如何根据类属性将 open 设置为 true 或 false?任何帮助将不胜感激。

4

1 回答 1

2

您需要小部件而不是 dom 对象来执行此操作,这就是查询为您提供 dom 对象的原因。

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

})
于 2013-09-10T22:18:48.067 回答