You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在已有jQuery选择器的情况下无需循环获取选中的单选按钮?

如何在已获取的单选按钮集合中直接获取选中项(无需循环)

当然可以!既然你已经通过var choices = $('input[name="choices"]')拿到了目标单选按钮的jQuery集合,完全不用循环或者each就能直接定位到选中的那一个,这里有几种简洁的实现方式:

  • 使用jQuery的filter()方法(推荐)
    这是最直观的方式,利用filter()在已有的元素集合中筛选符合:checked条件的元素:

    var checkedChoices = choices.filter(':checked');
    

    因为单选按钮同一时间只能有一个被选中,所以返回的checkedChoices是包含单个选中元素的jQuery对象,你可以直接调用checkedChoices.val()获取它的值,或者进行其他DOM操作。

  • 利用原生JS结合jQuery
    如果你想结合原生JS的数组方法,也可以这样写:

    // 先把jQuery集合转成原生数组,再找到checked为true的元素,最后转回jQuery对象
    var checkedChoices = $(Array.from(choices).find(el => el.checked));
    

    这种方式虽然可行,但相比filter()会稍显繁琐,更推荐第一种方法。

需要注意的是,如果当前没有任何单选按钮被选中,那么checkedChoices会是一个空的jQuery对象,调用val()会返回undefined,你可以根据业务场景做相应的判断。

内容的提问来源于stack exchange,提问作者JacobIRR

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:46:53