Сначала выполните
nodes = document.getElementsByClassName('oldclass');
или
nodes = document.querySelectorAll('.oldclass');
Это NodeList, к которому можно получить доступ аналогично массиву, затем выполните то, что вам нужно.
Я не уверен, хотите ли вы изменить имя класса CSS или полностью заменить div, и если да, то откуда.
Скопируйте NodeList вСначала статический массив:
nodes = Array.prototype.slice.call(nodes);
Мы не хотим, чтобы nodes
был NodeList
, поскольку они являются живыми и могут иметь непредсказуемые результаты при их изменении.
Если вы хотите заменить выбранные элементы новыми,
nodes[i].parentNode.replaceChild(newChild, nodes[i]);
Если вы хотите изменить имена классов, как в вашем примере, сделайте первые две строки, затем:
nodes.forEach(function(node, i) {
node.className = 'newclass' + (i % 2 ? 1 : 2);
});
Мне не совсем понятен ваш вопрос (цель вашего вопроса и ваш пример отличаются), поэтому я сделал предложения по обоим возможным намерениям.