如何验证是否使用jQuery隐藏了HTMLLIElement

时间:2012-06-22 02:59:23

标签: javascript jquery

我正在迭代一个名为content的变量,它包含几个HTMLLIElement对象。 我如何在这个对象中使用jQuery或JavaScript的函数?我正在尝试做的是在评论代码中编写的验证类型。

    $.each(content, function(index, value){
         //if(!value.is(':hidden')){
              console.log(index + ' : ' + value);
         //}
    });

我得到的是

  

未捕获的TypeError:对象#没有方法'是'

如果我value.getAttribute('style');,我会'display: none;'

3 个答案:

答案 0 :(得分:2)

$.each函数中的第二个参数引用DOM HTMLLIElement元素。要将is等jQuery方法应用于它,您必须将value元素包装在jQuery对象中:

if(!$(value).is(':hidden')) {

Fiddle

正如@anonymousdownvotingislame所指出的那样,if($(value).is(':visible'))可能更具可读性,因为人类的大脑往往难以解释双重否定,更不用说你不必使用非!运算符了。谢谢。 =]

答案 1 :(得分:1)

值不是jQuery对象。

尝试:

$.each(content, function(){
         if($(this).is(':hidden')){
              console.log(index + ' : ' + value);
         }
});

答案 2 :(得分:0)

尝试:

$content.each(function() {
    if ($(this).is(":hidden")) {
        console.log("whatever");
    }
});

......或者只是这样做:

$.each(content, function(index, value) {
    if (value.getAttribute("style") === "display: none;") {
        consoloe.log("whatever");
    }
});