如何检查一个元素是一个数组还是单个元素
jQuery 1.7.1
有时候我有一个元素作为数组,
<tr><td><input type="hidden" class="p" name="it" value="1"/></td></tr>
<tr><td><input type="hidden" class="p" name="it" value="2"/></td></tr>
下面的jQuery代码工作,
$(".p").each(function(i){
alert($('.p')[i].value);
});
有时我把那个元素当作一个单独的元素
<tr><td><input type="hidden" class="p" name="it" value="1"/></td></tr>
在试图执行上面的jQuery代码之前,我想确保隐藏的输入是数组还是单个元素。 我怎样才能使用jQuery?
实际上,该代码对于一个输入和两个输入都可以正常工作。
但是,使用size
方法来检查:
if ($(".p").size() > 1) {
$(".p").each(function(i){
alert($(this).value);
});
}
你可以检查jQuery返回的集合的length
。
var p = $('.p');
if ( p.length == 1 )
// single
else if ( p.length > 1 )
// set
但是,我相信这不是你的问题。 你的jQuery代码不应该在每次迭代时重新加载$('.p')
。 试试这个 - 它可以与一个或多个匹配的元素一起工作:
$(".p").each(function(){
alert(this.value);
});
DOM查询的结果总是一个jQuery对象。 它不能是一个单一的元素。 $(".p").length
将告诉你返回对象中元素的数量,如果查询不匹配任何对象,可以为0。