dojo dijit.TitlePane:全部展开/折叠,如何设置具有给定类名的元素的属性

pu82cl6c  于 2022-12-16  发布在  Dojo
关注(0)|答案(1)|浏览(151)

我有多个标题窗格:

<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的经验,我如何根据class属性设置open为true或false?

xienkqul

xienkqul1#

您需要小部件来完成此操作,而不是dom对象,这就是query为您提供的dom对象。

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

})

相关问题