2

我正在遍历一个名为 content 的变量,它包含几个 HTMLLIElement 对象。我如何在这个对象上使用 jQuery 或 JavaScript 的函数?,我想做的是用注释代码编写的那种验证。

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

我得到的是

未捕获的类型错误:对象 # 没有方法“是”

如果我这样做,value.getAttribute('style');我会得到'display: none;'

4

3 回答 3

2

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

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

小提琴

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

于 2012-06-22T03:05:45.840 回答
1

值不是 jQuery 对象。

尝试:

$.each(content, function(){
         if($(this).is(':hidden')){
              console.log(index + ' : ' + value);
         }
});
于 2012-06-22T03:06:02.783 回答
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");
    }
});
于 2012-06-22T03:05:49.547 回答