如何检查一个元素是一个数组还是单个元素

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。

链接地址: http://www.djcxy.com/p/19313.html

上一篇: How to check if an element is an array or single

下一篇: Test for array of string type in TypeScript