jq的id选择器在复选框时候的不理解

在获取复选框状态时候为什么我写:$("#che")[0].checked就可以
写$("#che").checked就不行,id选择器不是只会获取唯一的吗,为什么还要[0]

checked是属性,你可以用$("#che").attr()去处理。

你可以使用$("#che").is(':checked');来判断这个复选框的选中状态,返回false和true

$("#che")[0] 获取的是原生的 dom 对象, 所以可以 $("#che")[0].checked

jq 对象使用获取 $("#che").prop("checked")

设置: $("#che").prop("checked",true)

$("#che")[0].checked 相当于原生js的 document.getElementById("che").checked

因为.checked属性只能是js原生对象才能调用,jq对象是调用不了的(Jq提供了其他的方法).

所以如果要使用jq选择器 $("#che") 想调用.checked,必须将jq对象转化成js原生对象,

方法就是加一个[0]。

所以$("#che")[0].checked就可以
写$("#che").checked就不行

应该是把原生js和jQuery混淆了,如一楼所说,checked是属性,如果用原生js的话,应该是document.getElementById("che).checked;或者 $("#che") [0].checked(不推荐,这样就把原生js和jquery混在一起了)
如果是jquery的话 ,$("#che").attr("checked")