Хм, я думаю, достаточно просто в ручную собрать массив, вроде:
var a = document.querySelector('.a');
var b = document.querySelector('.b');
var newList = [a, b];
Но, это правда будет обычный массив (Array), в то время как, например document.querySelectorAll возвращает массивоподобный объект типа NodeList. Если вам нужны какие-то специфические свойства, которые есть только у NodeList, если честно тут помочь не могу, не встречал способов вручную конструировать NodeList, а тот NodeList, который возвращается методом document.querySelectorAll является read-only, так что добавить в него новые элементы также нельзя.
Подскажи, плз, на каком бекенде работает сайт. Или это статика? Знаю похожую болезнь у рельсов с турболинками. И еще было бы здорово посмотреть на тест-кейс где-нибудь, может смогу помочь.
Александр Ожиняк: только что проверил с мобильного: на вашем сайте теперь поп-ап открывается. Может у вас на компьютере/мобильном в кэше просто старый файл сидит? Можно попробовать почистить кэш или сделать хард-рефреш.
Нужная функция в этом файле начинается на строчке 7073. Но у меня есть подозрение, что этот файл может собираться вордпрессом из кучки разных js-файлов, включенных в тему.
Вот еще про равенство объектов в js: adripofjavascript.com/blog/drips/object-equality-i...
В этой статье также предлагается использовать утилиту из underscore или lodash для сравнения объектов, что, в принципе верно, однако при использовании в shouldComponentUpdate может сказаться на производительности.