Javascript 访问输入元素的嵌套路径
HTML: 这个(尽管没有jQuery)解决方案对我很有效。选中部分复选框,然后单击复选按钮Javascript 访问输入元素的嵌套路径,javascript,jquery,html,checkbox,Javascript,Jquery,Html,Checkbox,HTML: 这个(尽管没有jQuery)解决方案对我很有效。选中部分复选框,然后单击复选按钮 函数检查(){ document.querySelectorAll(“.options:checked”).forEach(el=>{ 控制台日志(el.值); }); console.log(“--------------------------”; } 您的名字是: 上下快速移动 大卫 杰克 . . . . 这是最后一个问题 对 不 检查值您不需要所有路径,它的最后一位就足够了。$('.
函数检查(){
document.querySelectorAll(“.options:checked”).forEach(el=>{
控制台日志(el.值);
});
console.log(“--------------------------”;
}
您的名字是:
上下快速移动
大卫
杰克
.
.
.
.
这是最后一个问题
对
不
检查值
您不需要所有路径,它的最后一位就足够了。$('.options:checked')
。也无需将此
转换为jQuery对象,只需访问其JavaScript值
属性:
函数检查(){
$('.options:checked')。每个(函数(){
console.log(this.value);
});
}
您的名字是:
上下快速移动
大卫
杰克
. . . .
这是最后一个问题
对
不
检查
是,它工作得很好,而且更简单。感谢您不需要数组。from()
@RacilHilan是的,您需要document.querySelectorAll
返回一个节点列表
,它没有很多像forEach
这样的数组方法,因此我必须将其转换为数组为什么不在响应之前尝试?删除Array.from()
,看看你的答案是否仍然有效。那么也许你可以做点什么。NodeList
确实有forEach
:哇。因此,它会自动遍历路径。学会了新东西。是的,我将直接使用this.value
。谢谢,既然您已经在使用jQuery,那么这个答案就是最好的方法。如果您没有使用jQuery并且不想支持旧浏览器,那么使用querySelectorAll()
也是一个不错的选择。
<div id="quiz">
<div id="question">
<p id="quiz-txt">Your Name is:</p>
<ul id="quiz-opt">
<div id="ans">
<input type="checkbox" id="Bob" value="Bob" class="options">
<label for="Bob">Bob</label>
</div>
<div id="ans">
<input type="checkbox" id="David" value="David" class="options">
<label for="David">David</label>
</div>
<div id="ans">
<input type="checkbox" id="Jack" value="Jack" class="options">
<label for="Jack">Jack</label>
</div>
</ul>
</div>
.
.
.
.
<div id="question">
<p id="quiz-txt">This is the final question.</p>
<ul id="quiz-opt">
<div id="ans">
<input type="checkbox" id="Yes" value="Yes" class="options">
<label for="Yes">Yes</label>
</div>
<div id="ans">
<input type="checkbox" id="No" value="No" class="options">
<label for="No">No</label>
</div>
</ul>
</div>
$('#quiz').children('#question').children('#quiz-opt').children('#ans').children('.options:checked').each(function () {
console.log($(this).val());
});