Как использовать querySelectorAll только для элементов, которые имеют определенный набор атрибутов?
Я пытаюсь использовать document.querySelectorAll
для всех флажков, которые имеют value
набор атрибутов.
есть и другие флажки на странице, которые не имеют value
установить, и значение отличается для каждого флажка. Однако идентификаторы и имена не являются уникальными.
пример:
<input type="checkbox" id="c2" name="c2" value="DE039230952"/>
Как выбрать только те флажки, которые имеют установленные значения?
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');
который будет эффективно находить все дивы в "узле"и ниже рекурсивно, черт возьми!