2014-11-11 3 views
1

В настоящее время у меня есть функция JavaScript, которая использует getElementsByClassName("apples"), чтобы найти все в классе apples. Моя проблема заключается в том, что я не могу найти способ получить каждый элемент не в классе apples. Есть ли вспомогательные функции в JavaScript, которые могли бы мне это сделать? Спасибо за помощь!Получите все элементы, кроме одного из определенного класса?

+0

Удивительно, что сработало! Благодаря! – chadb768

ответ

7

Вы не можете сделать это с помощью getElementsByClassName.

Самый простой способ на современных браузерах будет использовать:

document.querySelectorAll(':not(.apples)') 

На старых браузерах вы, вероятно, придется использовать document.getElementsByTagName('*') с последующей операцией фильтрации для удаления нежелательных элементов. Это, вероятно, будет очень медленным.

+0

Если он использует 'getElementsByClassName', то я думаю, что единственным браузером, который поддерживал бы это, но не' qSA', был бы FF3. –

+0

... oh ожидание. ': not()' не поддерживается в IE8. Ну что ж. –

+0

@squint IE8 - не современный браузер ;-) – Alnitak

Смежные вопросы