Dojo.Query问题:通过类名使用`dojo.query`获取类的元素

时间:2012-05-01 08:09:05

标签: javascript class dojo

与我的Question相关,我在使用dojo.query获取所有想要获取类的所有元素的元素时遇到问题 我的代码如下;

var jsonRoles = {"roles": [
                            {"roleId": "1", "roleName": "role1", "roleDesc": "This is role1"},
                            {"roleId": "2", "roleName": "role2", "roleDesc": "This is role2"},
                            {"roleId": "3", "roleName": "role3", "roleDesc": "This is role3"}
                        ]
                    };
                    var results="";
                    for(var i=0;i<jsonRoles.roles.length;i++){
                        results += '<div class="dojoDndItem ">' + '<span style="visibility: hidden">' + jsonRoles.roles[i].roleId + '</span>' + jsonRoles.roles[i].roleName  + '</div>';
                    }
                    var list = dojo.query(".dojoDndItem");

我想在变量“列表”中存储类名为dojoDndItem的元素,但是当我检查 firebug中的“列表”时,它给了我“[]”(空数组)。我做错了吗?

1 个答案:

答案 0 :(得分:0)

dojo.query根据CSS选择器从页面返回匹配的DOM nodes数组。

您问题中的变量results只是一个字符串,其中包含以下文字:

<div class="dojoDndItem"><span style="visibility: hidden">...

只是一个字符串。它不是DOM元素的数组,也没有向页面DOM本身添加任何新元素,因此除非预先存在具有dojoDndItem类的元素,否则空数组[]是正确的结果。