javascript - jQuery 单选按钮 "checked"属性未触发

标签 javascript jquery radio-button checked

我试图根据用户检查的单选按钮向 div 添加文本,但无论检查哪个属性,它最终都会触发“else” block ,并且每次都显示“女性”。

请帮忙!

<input type="radio" name="gender" class="gender" id="male" value="male">Male<br />
<input type="radio" name="gender" class="gender" id="female" value="female">Female<br />

$(".gender").change(function () {                 
if ($("#male").attr("checked")) {
        $("#content").text("male");
    }
    else {
        $("#content").text("female");
    }
});

最佳答案

使用 .prop('checked') 而不是 .attr('checked')。后者基于 HTML 属性,该属性始终为 false,因为它不在 DOM 中。 .prop 可用于检查 DOM 中可能不可见的属性更改。

http://jsfiddle.net/Xxuh8/

关于javascript - jQuery 单选按钮 "checked"属性未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840894/

相关文章:

javascript - 在我的案例中如何更新 <select> 选项?

javascript - 如何在单个存储库中与其他团队共享本地 npm 包?

jquery - 如何暂停所有 CSS 动画?

reactjs - 默认情况下未选中 Material-ui FormControlLabel

css - 模态主体中的 radio 到 slider 无法正确显示

javascript - 如何在 Cytoscape JS 中给出节点的行和列位置

javascript - 突出显示 HTML 文本中的单词(但不是标记)

javascript - 使用 Javascript 加载外部 &lt;script&gt; 而不使用缓存

php - AJAX:每分钟显示一条随机线

jquery - 根据值禁用单选按钮