2013-10-08 2 views
0

actionSorter() 메서드와 HTMLCollection에 전달해야합니다. DOM에서 분리 된 임시 div를 만드는 방법을 궁금합니다.detached dom에서 querySelectorAll을 사용하는 방법?

아이디어가 있으십니까? 이미 요소를 가지고 있기 때문에이

var temp = document.createElement('div'); 
    temp.className = 'temp'; 
    temp.dataset.href = 'zoomout'; 
    this.actionSorter(temp); 
+1

이 왜 쿼리해야합니까 인수로 배열을 전달해야합니까? 'temp'는 이미 원소입니다. 여러분은 그것을 통과 할 수 있습니까? – elclanrs

+0

액션소서 란 무엇입니까? – mplungjan

+0

시도'this.actionSorter (temp); ' –

답변

1

같은

 var temp = document.createElement('div'); 
     temp.className = 'temp'; 
     temp.dataset.href = 'zoomout'; 
     var coll = document.querySelectorAll('.temp'); 
     this.actionSorter(coll); 



actionSorter: function($el) { 

      var href = $el[0].dataset.href; 
      if (href === 'viewup') { 
       Viewer.itemAnimateUp(); 
      } 
      if (href === 'viewright') { 
       Viewer.itemAnimateRight(); 
      } 
      if (href === 'viewdown') { 
       Viewer.itemAnimateDown() 
      } 
      if (href === 'viewleft') { 
       Viewer.itemAnimateLeft(); 
      } 
      return false; 
     }, 
+0

actionSorter에 대한 전체 코드를 게시했습니다. 당신의 대답이 여전히 유효한 지 알려주시겠습니까? 감사합니다 – GibboK

+1

내 업데이트를 참조하십시오 –

+0

설명해 주셔서 감사합니다. – GibboK

0

시도 뭔가 당신은 querySelectorAll을 수행 할 필요가 없습니다. 당신의 요소가 더 복잡한 경우

그러나 충분한 패스에게 temp 요소

this.actionSorter(temp); 

그리고 당신은, 당신은 같은 요소의 querySelectorAll 메소드를 호출 할 수 DOM에 연결되지 않은 임시 요소 안에 뭔가를 찾으려면

temp.querySelectorAll(".selector") 

querySelectorAll은 요소 배열을 반환합니다.

UPDATE : 코드에 따라 ... 단순히

var temp = document.createElement('div'); 
    temp.className = 'temp'; 
    temp.dataset.href = 'zoomout'; 
    this.actionSorter([temp]); // <--- note temp into array 
관련 문제