如何将querySelectorAll仅用于具有特定属性集的元素?
我试图使用document.querySelectorAll
所有具有value
属性设置的checkbox。
页面上还有其他checkbox没有设置值,每个checkbox的值都不相同。 ID和名称不是唯一的。
例如: <input type="checkbox" id="c2" name="c2" value="DE039230952"/>
如何只select那些设置了值的checkbox?
你可以像这样使用querySelectorAll()
:
var test = document.querySelectorAll('input[value][type="checkbox"]:not([value=""])');
这转化为:
获得所有具有属性“值”的input,并具有非空白的属性“值”。
在这个演示中 ,它将禁用非空值的checkbox。
额外提示:
多个“nots”,不隐藏和不禁用的input:
:not([type="hidden"]):not([disabled])
你也知道你可以这样做:
node.parentNode.querySelectorAll('div');
这与jQuery的相同:
$(node).parent().find('div');
这将有效地find在“节点”和以下recursion的所有div,HOT DANM!
用于input的document.querySelectorAll()
仅默认返回检查的input。
问候;)