2013-10-08 3 views
0

Мне нужно перейти к методу actionSorter() и HTMLCollection, мне интересно, как это сделать, создавая временный div, отделенный от DOM.Как использовать querySelectorAll в отдельном доме?

Любые идеи?

 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; 
     }, 
+1

Почему вы должны запросить? 'temp' уже является элементом, вы не можете это передать? – elclanrs

+0

Что такое actionorter? – mplungjan

+0

try 'this.actionSorter (temp);' –

ответ

1

Вам не нужно делать querySelectorAll, потому что вы уже элемент.

достаточно Пропустите temp элемент

this.actionSorter(temp); 

Однако, если ваш элемент является более сложным, и вы хотите найти что-то внутри временного элемента, не прикрепленный к DOM, вы можете вызвать querySelectorAll метод элемента, как

temp.querySelectorAll(".selector") 

Отметьте, что querySelectorAll возвращает массив элементов.

UPDATE: в соответствии с вашим кодом ... просто вы должны передать массив в качестве аргумента

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

Я опубликовал полный код для actionSorter , не могли бы вы рассказать мне, если ваш ответ по-прежнему действителен? спасибо – GibboK

+1

См. мое обновление –

+0

спасибо за объяснение – GibboK

0

попробовать что-то вроде этого

var temp = document.createElement('div'); 
    temp.className = 'temp'; 
    temp.dataset.href = 'zoomout'; 
    this.actionSorter(temp); 
Смежные вопросы