JQuery 检查输入是否为类型复选框?

我想知道一个输入是否是一个复选框,以下内容不起作用:

$("#myinput").attr('checked') === undefined

再次感谢!

141976 次浏览
$("#myinput").attr('type') == 'checkbox'
>>> a=$("#communitymode")[0]
<input id="communitymode" type="checkbox" name="communitymode">
>>> a.type
"checkbox"

或者,更像 jQuery 的风格:

$("#myinput").attr('type') == 'checkbox'

可以在调用 jQuery 的 is函数时使用伪选择器 :checkbox:

$('#myinput').is(':checkbox')

使用此功能:

function is_checkbox(selector) {
var $result = $(selector);
return $result[0] && $result[0].type === 'checkbox';
};

或者这个 jquery 插件:

$.fn.is_checkbox = function () { return this.is(':checkbox'); };

非 jQuery 解决方案非常类似于 jQuery 解决方案:

document.querySelector('#myinput').getAttribute('type') === 'checkbox'
$('#myinput').is(':checkbox')

这是唯一的工作,解决问题,检测是否勾选了复选框。它返回 true 或 false, 我找了几个小时,什么都试了,现在它的工作 为了清楚,我使用 EDG 作为浏览器和 W2UI