【发布时间】:2010-12-02 02:25:47
【问题描述】:
我想知道输入是否是复选框,以下不起作用:
$("#myinput").attr('checked') === undefined
再次感谢您!
【问题讨论】:
标签: javascript jquery jquery-ui
我想知道输入是否是复选框,以下不起作用:
$("#myinput").attr('checked') === undefined
再次感谢您!
【问题讨论】:
标签: javascript jquery jquery-ui
您可以使用伪选择器:checkbox 调用jQuery 的is 函数:
$('#myinput').is(':checkbox')
【讨论】:
var myInput = $("myinput")[0]; var isCheckbox = myInput.nodeName.toLowerCase() == "input" && myInput.type == "checkbox";
>>> a=$("#communitymode")[0]
<input id="communitymode" type="checkbox" name="communitymode">
>>> a.type
"checkbox"
或者,更多的jQuery风格:
$("#myinput").attr('type') == 'checkbox'
【讨论】:
attr() 函数搞砸任何事情的可能性。
attr() 更改为 prop(),afaik。 attr() 并不总是从浏览器获取“真实”属性值(即是否选中)。老实说,不知道为什么会这样,但我不久前就知道了。
$("#myinput").attr('type') == 'checkbox'
【讨论】:
非 jQuery 解决方案很像 jQuery 解决方案:
document.querySelector('#myinput').getAttribute('type') === 'checkbox'
【讨论】:
使用此功能:
function is_checkbox(selector) {
var $result = $(selector);
return $result[0] && $result[0].type === 'checkbox';
};
或者这个 jquery 插件:
$.fn.is_checkbox = function () { return this.is(':checkbox'); };
【讨论】:
$('#myinput').is(':checkbox')
这是唯一的工作,解决检测复选框是否选中的问题。它返回真或假, 我搜索了几个小时并尝试了一切,现在它的工作 需要明确的是,我使用 EDG 作为浏览器和 W2UI
【讨论】: