【发布时间】:2012-06-20 08:12:41
【问题描述】:
如何检查给定的 DOM 元素是否为复选框。
场景:
我有一组文本框和复选框,其中的值是动态分配的。我无法确定 DOM 元素是复选框还是文本框。
【问题讨论】:
标签: javascript jquery dom
如何检查给定的 DOM 元素是否为复选框。
场景:
我有一组文本框和复选框,其中的值是动态分配的。我无法确定 DOM 元素是复选框还是文本框。
【问题讨论】:
标签: javascript jquery dom
只使用原生 javascript 你可以做到
if (el.type && el.type === 'checkbox') {
...
}
甚至更短
if ((el || {}).type === 'checkbox') {
...
}
或者在现代浏览器中你可以使用matches()
if (el.matches('[type="checkbox"]') {
...
}
【讨论】:
toLowerCase那个类型值,不是吗?
lowerCase然后比较。
'input[type="checkbox"]'
检查任何东西
function isCheckbox (element) {
return element instanceof HTMLInputElement
&& element.getAttribute('type') == 'checkbox'
}
【讨论】:
if( $(element)[0].type == "checkbox" ) {
}
或
if( $(element).is(':checkbox') ) {
}
【讨论】:
var checkboxes = $("form input:checkbox");
你可以这样判断输入是什么类型:
if ($(".your-input").is(":text"))
{
// Textbox
}
else if ($(".your-input").is(":checkbox"))
{
// Checkbox
}
【讨论】:
if (<DOMNode>.type === "checkbox") {
// ...
}
【讨论】:
试试这个;
$(element).is(':checkbox');
这里element 是您的element 的选择器
if( $(element).is(':checkbox') ) {
// do something
}
【讨论】:
jQueryis():
if ($el.is(':checkbox')) { ... }
【讨论】:
您可以使用伪选择器 :checkbox 调用 jQuery 的 is 函数:
$('#myinput').is(':checkbox')
【讨论】:
你应该有一个体面的命名约定,它可以让你知道一个元素是否是一个复选框,只需要看到它的 id 或 name。 例如"chkMyCheckbox"
【讨论】: