Как использовать querySelectorAll на отдельном дом?

0

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

Есть идеи?

       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 уже элемент, вы не можете передать это?
  • 0
    Что такое Actionsorter?
Показать ещё 2 комментария
Теги:

2 ответа

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, не могли бы вы сказать мне, если ваш ответ остается в силе? Спасибо
  • 1
    Пожалуйста, смотрите мое обновление
Показать ещё 1 комментарий
0

попробуй что-нибудь вроде этого

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню