这个问题有点奇怪,但是在玩我的脑袋。我正在研究如何使用JQuery检查/选择无线电类型的输入。
我使用看起来像这样的代码解决了我的问题:
if ($("#someId").is(":checked")) {
}
这很简单,但是当我使用浏览器开发人员工具验证/检查输入字段时,没有任何输入具有不同的属性,它们看起来都是一样的。所以:
验证如何运作?有什么功能可以知道哪些输入真的被检查了?
我会在@Peter J的另一个问题上留下这个小提琴,这样你就可以看到我在说什么,也许可以帮助我:http://jsfiddle.net/RhnvU/
谢谢:)
答案 0 :(得分:4)
这不是存储为html属性,而是存储在与单选按钮关联的DOM对象中。您可以在源选项卡的devtools中,在监视表达式窗格中看到此内容。
您可以在javascript中获取此信息:
var checkedElement= document.querySelector("input:checked");
console.log(checkedElement.checked);
答案 1 :(得分:1)
我已更新此示例:http://jsfiddle.net/AlexeiTruhin/RhnvU/3829/
$('#myForm input').on('change', function() {
alert($('input[name=radioName]:checked', '#myForm').val());
console.log(document.getElementsByTagName("input")); // pure JS
});
当从Inspect Elements检查Console时(在我的例子中),我们得到了这3个输入的数组。每个输入都有属性。其中一个属性是“检查”,其中包含可能的值' true'或者' false'。 这项工作是由浏览器完成的,所以jQuery只检查这个值。
答案 2 :(得分:0)
如果我没弄错的话,我正确理解你的问题......
选中复选框后,会添加属性checked
您也可以通过$("#someId:checked")
和css #someId:checked