检查DOM Element是否为复选框

时间:2012-06-20 08:12:42

标签: javascript jquery dom

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

情景:

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

10 个答案:

答案 0 :(得分:52)

只使用vanilla javascript

if (el.type && el.type === 'checkbox') {
   ...
}

甚至更短

if ((el || {}).type === 'checkbox') {
   ...
}

或在现代浏览器中,您可以使用matches()

if (el.matches('[type="checkbox"]') {
    ...
}

答案 1 :(得分:15)

如果你正在使用jQuery,你可以使用:checkbox伪类选择器和is方法:

if($("#that-particular-input").is(":checkbox")) {
}

答案 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)

查看checkbox selector

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');

此处elementelement

的选择器
if(  $(element).is(':checkbox') ) {
  // do something
}

答案 7 :(得分:1)

jQuery is()

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

答案 8 :(得分:1)

你可以使用伪选择器:复选框来调用jQuery的函数:

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

答案 9 :(得分:0)

你应该有一个不错的命名约定,它允许你知道一个元素是否只是看到它的id或名称的复选框。 例如“chkMyCheckbox”