访问dojo中的每个标签ID

时间:2012-10-09 04:30:58

标签: dojo

  

a=dojo.query('label');

通过这个命令得到

<label id=​"labelforclientname">​
                Client name
            ​</label>​
, 
<label id=​"labelforphysical">​
                Physical 
                ​</label>​
, 
<label id=​"labelforpostal">​
                Postal 
                ​</label>​
, 
<label id=​"labelfortele">​
                Telephone No 
                ​</label>​
, 
<label id=​"labelforfax">​
                Fax No
                ​</label>​
, 
<label id=​"labelformail">​
                Email
                ​</label>​
, 
<label id=​"labelforaddress">​
                Address to :
            ​</label>​

这是我表格中的所有标签

现在我想访问每个标签ID。道场是否可能?

2 个答案:

答案 0 :(得分:0)

如果您只想要一个包含id s的数组,那么map()是最直接的方式:

// map
var ids1 = dojo.query('label').map(function(label) {
    return label.id
});

或使用forEach

// forEach
var ids2 = [];
dojo.query("label").forEach(function(label) {
    // do whatever you need with a label here
    ids2.push(label.id);          
});

在jsFiddle中查看它:http://jsfiddle.net/phusick/nfMGC/

dojo/query返回dojo/NodeList这是一个类似于数组的对象,它为链接添加语法糖。您可以使用其中的许多方法,例如filterstyletoggleClass等。有关其他详细信息,请参阅Using dojo/queryNodeList Extensions教程。

答案 1 :(得分:0)

您也可以通过以下方式访问标签:

require(["dojo/dom"], function(dom){
    // fetch a node by id="someNode"
    var node = dom.byId("someNode");
});