如何检查给定的DOM元素是否为复选框。
情景:
我有一组文本框和复选框,其中的值是动态分配的。我没有办法确定DOM元素是复选框还是文本框。
答案 0 :(得分:52)
只使用vanilla javascript
if (el.type && el.type === 'checkbox') {
...
}
甚至更短
if ((el || {}).type === 'checkbox') {
...
}
或在现代浏览器中,您可以使用matches()
if (el.matches('[type="checkbox"]') {
...
}
答案 1 :(得分:15)
答案 2 :(得分:11)
检查任何内容
function isCheckbox (element) {
return element instanceof HTMLInputElement
&& element.getAttribute('type') == 'checkbox'
}
答案 3 :(得分:4)
if( $(element)[0].type == "checkbox" ) {
}
OR
if( $(element).is(':checkbox') ) {
}
答案 4 :(得分:2)
var checkboxes = $("form input:checkbox");
您可以告诉输入类型是什么类型:
if ($(".your-input").is(":text"))
{
// Textbox
}
else if ($(".your-input").is(":checkbox"))
{
// Checkbox
}
答案 5 :(得分:2)
if (<DOMNode>.type === "checkbox") {
// ...
}
答案 6 :(得分:1)
试试这个;
$(element).is(':checkbox');
此处element
是element
if( $(element).is(':checkbox') ) {
// do something
}
答案 7 :(得分:1)
jQuery is()
:
if ($el.is(':checkbox')) { ... }
答案 8 :(得分:1)
你可以使用伪选择器:复选框来调用jQuery的函数:
$('#myinput').is(':checkbox')
答案 9 :(得分:0)
你应该有一个不错的命名约定,它允许你知道一个元素是否只是看到它的id或名称的复选框。 例如“chkMyCheckbox”