我有一个包含不同元素的数组。 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的类型然后这样做..我怎么能在这里检查? 谢谢
答案 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'))
但理想情况是重做代码,不要在循环中检查标记名称。