2012-05-01 3 views
0

Question과 관련된 모든 요소를 ​​가져 오는 데 문제가 있음 dojo.query 내 코드는 다음과 같습니다. 이하; 내가 불을 지르고에서 "목록"를 검사 할 때Dojo.Query 문제 : 클래스 이름으로`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을 가진 요소를 저장할 "목록"하지만, 그것은 나에게 "[]"(빈 배열)를 제공합니다. 내가 뭔가 잘못하고 있는거야?

+0

예상하셨습니까? – Hamish

답변

0

dojo.query은 CSS 선택자를 기반으로 페이지에서 일치하는 DOM nodes의 배열을 반환합니다. 그것은 단지 문자열

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

: 귀하의 질문에

변수 results 같은 텍스트 단지 문자열입니다. DOM 요소의 배열이 아니며 페이지 DOM 자체에 새 요소를 추가하지 않았으므로 dojoDndItem 클래스가있는 기존 요소가 없으면 빈 배열 []이 올바른 결과를 가져옵니다.

+0

이 문제점에 대해 제안 된 해결책으로 설명 할 수 있습니까? – AbdulAziz

+0

해결 방법 * * *? 'results'에 HTML을 추가하고 싶습니까? 페이지에 붙어 있지 않은 DOM 요소의 배열을 만들고 싶습니까? – Hamish

관련 문제