Как использовать querySelectorAll только для элементов, которые имеют определенный набор атрибутов?


Я пытаюсь использовать document.querySelectorAll для всех флажков, которые имеют value набор атрибутов.

есть и другие флажки на странице, которые не имеют value установить, и значение отличается для каждого флажка. Однако идентификаторы и имена не являются уникальными.

пример: <input type="checkbox" id="c2" name="c2" value="DE039230952"/>

Как выбрать только те флажки, которые имеют установленные значения?

3 65

3 ответа:

можно использовать querySelectorAll() такой:

var test = document.querySelectorAll('input[value][type="checkbox"]:not([value=""])');

это переводится как:

получить все входные данные с атрибутом " значение "и имеет атрибут" значение", который не является пустым.

в этой демо-версии, он отключает флажок с непустым значением.

Дополнительные Советы:

несколько "нет", вход, который не скрыт и не отключен:

:not([type="hidden"]):not([disabled])

также вы знаете, что вы можете сделать это:

node.parentNode.querySelectorAll('div');

Это эквивалентно jQuery:

$(node).parent().find('div');

который будет эффективно находить все дивы в "узле"и ниже рекурсивно, черт возьми!

document.querySelectorAll() for input возвращает только входы checkd по умолчанию.

С уважением;)