Dojo.Query 问题:按类名使用“dojo.query”获取类的元素

Dojo.Query Issue: getting elements of a class using `dojo.query` by class name

本文关键字:query dojo 获取 元素 问题 Query Dojo      更新时间:2023-09-26

与我的问题有关,我在获取所有元素时遇到麻烦,我想使用 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的元素存储在变量"list"中,但是当我检查Firebug中的"列表"时,它给了我"[]"(空数组)。我做错了什么吗?

dojo.query基于

CSS选择器从页面返回匹配的DOM节点数组。

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

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

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