dojo.查询所需字段

dojo.query for required fields

本文关键字:字段 查询 dojo      更新时间:2024-01-06

我使用的是dojo,我需要查询DOM中所有必需的字段,并在TableContainer中的每个dijit标签旁边添加一个*我试过

dojo.query("[required]") 

但是它返回一个空的NodeList,显然,所需的属性在运行时中被呈现为其他属性

您可以直接使用dijit/registry检查所有具有所需属性的小部件,而无需查询DOM。

示例:

require(['dijit/registry'], function(registry){
    var widgets = registry.toArray();
    widgets.forEach(function(widget){
        if(widget.required){
            // your code here
          }
    });  
});

如果您正在使用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
    }
  }
)

当然,更好的行为应该是基于自定义类查询小部件,而不是查找页面上的所有小部件。