我有一个类名为“data”的 div,其中包含 3 个不同的元素:inpyt、select 和 textarea。
我想将元素放入带有 querySelectorAll 的数组中,并循环它们以将值设置回空。 输入和文本区域元素工作正常,但我无法“捕获”选择元素。
在 querySelectorAll 中,我首先使用类名,然后使用标记名。
我需要更改什么才能使其正常工作?
function resetValues() {
var arr = document.querySelectorAll(".data>input,textarea,select");
for (var i = 0; i < arr.length; i++) {
arr[i].value = "";
}
}
<div class="data">
<input></input>
<select>
<option value="" required></option>
<option value="1">One</option>
<option value="2">Two</option>
<option value="3">Three</option>
</select>
<textarea></textarea>
</div>
<div>
<button onclick="resetValues()" <Click</button>
</div>
我尝试重写querySelectorAll,但没有成功
document.querySelectorAll(".data>input,textarea,option[selected]");
document.querySelectorAll(".data>input,textarea,option[select]");
document.querySelectorAll(".data>input,textarea,select option");
document.querySelectorAll(".data>input,textarea,select>option");
document.querySelectorAll(".data>input,textarea,option");
一个问题是选择器。
,
分隔不同的选择器。 .data>input,textarea,select
的意思是
.data>input
或者textarea
或者select
您应该使用
.data>input,.data>textarea,.data>select
。
:is
选择器:.data > :is(input,textarea,select)