如何在JQuery中查找元素类型

时间:2012-02-08 06:00:25

标签: jquery

我有一个包含不同元素的数组。 like数组包含输入元素和select元素。我想检查特定类型。我尝试了这个,但它不起作用

var mandotaryElementsArray = $('.mandotary');

$.each(mandotaryElementsArray, function(index, element){

    if (element == input) {

        var $inputElement = $(this);
        var test1;

    } else if (element == select) {

        var $selectElement = $(this);
        var test2;

    }

}); //end of .each()

实际上我想检查一下类似于Java中的 实例的内容。在这里,我想检查元素是否为输入的类型然后执行此操作,如果元素是选择的类型,那么执行此操作,如果元素是 radiobutton的类型然后这样做..我怎么能在这里检查? 谢谢

2 个答案:

答案 0 :(得分:7)

您可以使用.tagName属性(对于HTML总是返回大写):

$('.mandotary').each(function(index, element) {
    if (element.tagName == "INPUT") {
        // code here
    } else if (element.tagName == "SELECT") {
        // code here
    }
});

或者,您可以使用jQuery的.is()

$('.mandotary').each(function(index, element) {
    var $element = $(element);
    if ($element.is('input')) {
        // code here
    } else if ($element.is('select')) {
        // code here
    }
});

更好的方法可能是让选择器为您完成所有工作,只需为特定操作选择所需的项目,然后对所需的选择器进行操作,如下所示:

$('input.mandotary').hide();
$('select.mandotary').show();

答案 1 :(得分:1)

只需使用.is()匹配代码名称:

if (element.is('input'))

但理想情况是重做代码,不要在循环中检查标记名称。