如何使用jQuery获取选中单选按钮对应span中的Apple文本?
获取单选按钮对应span的文本内容
首先,你当前的代码var answer = ($('input[name="choice"]:checked').val());获取的是单选按钮自身的value属性值,而不是旁边span里的文本,所以我们需要调整选择器来定位到对应的span元素。
方法一:使用.next()(最直接,适合span紧跟input的场景)
因为你的span是单选按钮的紧邻兄弟元素,可以用.next()方法直接获取它,再调用.text()拿到文本:
var answer = $('input[name="choice"]:checked').next('span').text();
这个方法的优势是高效,因为它只会查找当前元素的下一个兄弟节点,匹配指定的span标签。
方法二:使用.siblings()(适合span和input是兄弟关系但不紧邻的场景)
如果后续HTML结构调整,span和单选按钮之间插入了其他元素,可以用.siblings()来找到同层级的span:
var answer = $('input[name="choice"]:checked').siblings('span').text();
额外建议:处理未选中的情况
为了避免没有选中任何单选按钮时出现undefined,可以先判断是否有选中项:
var $checkedRadio = $('input[name="choice"]:checked'); if ($checkedRadio.length) { var answer = $checkedRadio.next('span').text(); console.log("选中的选项文本:", answer); } else { console.log("请选择一个选项"); }
小提示:修正你的HTML结构
另外注意,<input>是自闭合标签,不需要写</input>,正确的写法应该是:
<input type="radio" name="choice" value="0" class="option-input radio"> <span id="answer0">Apple</span>
内容的提问来源于stack exchange,提问作者Daemon
相关产品推荐
相关产品推荐

