我正在使用dojo,我需要查询DOM中的所有必填字段,并在TableContainer中的每个dijit标签旁边添加* 我试过了
dojo.query("[required]")
但是它返回一个空的NodeList,显然,在运行时将所需的属性呈现给其他属性
答案 0 :(得分:1)
如果您使用的是dijit / form小部件,您可以尝试搜索'aria-required'
dojo.query("[aria-required]")
然而它不适用于所有小部件(如textarea)。我建议你使用类似的东西:
dojo.query("[widgetid]").forEach( //scope all widgets on page
function(item){
var widget = dijit.getEnclosingWidget(item);
if(widget.required){
// your code here
}
}
)
当然,更好的行为应该是根据自定义类查询小部件,而不是在页面上查找所有小部件。
答案 1 :(得分:1)
您可以直接使用dijit/registry
检查所有具有所需属性的小部件,而无需查询DOM。
示例:
require(['dijit/registry'], function(registry){
var widgets = registry.toArray();
widgets.forEach(function(widget){
if(widget.required){
// your code here
}
});
});