Javascript 检查DOM元素是否为复选框

Javascript 检查DOM元素是否为复选框,javascript,jquery,dom,Javascript,Jquery,Dom,如何检查给定的DOM元素是否是复选框 情景: 我有一组文本框和复选框,其中的值是动态分配的。我没有办法确定DOM元素是一个复选框还是一个文本框。看看下面的例子 您可以判断输入的类型如下: if ($(".your-input").is(":text")) { // Textbox } else if ($(".your-input").is(":checkbox")) { // Checkbox } 只使用普通的javascript就可以了 if (el.type &&

如何检查给定的DOM元素是否是复选框

情景:

我有一组文本框和复选框,其中的值是动态分配的。我没有办法确定DOM元素是一个复选框还是一个文本框。

看看下面的例子

您可以判断输入的类型如下:

if ($(".your-input").is(":text"))
{
    // Textbox
}
else if ($(".your-input").is(":checkbox"))
{
    // Checkbox
}

只使用普通的javascript就可以了

if (el.type && el.type === 'checkbox') {
   ...
}
甚至更短

if ((el || {}).type === 'checkbox') {
   ...
}
或者在现代浏览器中,您可以使用
matches()

试试这个

  $(element).is(':checkbox');
这里的
元素
是您的
元素

if(  $(element).is(':checkbox') ) {
  // do something
}

如果您使用的是jQuery,则可以将伪类选择器与方法一起使用:

if(.type==“复选框”){
// ...
}
jQuery
is()


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

$('#myinput')。是(':checkbox')

检查任何东西

function isCheckbox (element) {
   return element instanceof HTMLInputElement 
      && element.getAttribute('type') == 'checkbox'
}

您应该有一个合适的命名约定,它允许您通过查看元素的id或名称来知道元素是否是复选框。
e、 “chkMyCheckbox”

许多年后。。。。您可能想将
转换为小写
那个类型的值,不是吗?不,请转换为
小写
,然后进行比较。@AndreasKöberle这应该取决于您如何在标记中编写属性,对吧?为了安全起见,您甚至可以执行
输入[type=“checkbox”]”
:checkbox
是一个伪类
if(  $(element).is(':checkbox') ) {
  // do something
}
if($("#that-particular-input").is(":checkbox")) {
}
if (<DOMNode>.type === "checkbox") {
    // ...
}
if ($el.is(':checkbox')) { ... }
if( $(element)[0].type == "checkbox" ) {

}
if( $(element).is(':checkbox') ) {

}
function isCheckbox (element) {
   return element instanceof HTMLInputElement 
      && element.getAttribute('type') == 'checkbox'
}