2

content と呼ばれる変数を反復処理しています。これには、いくつかの HTMLLIElement オブジェクトが含まれています。このオブジェクトで jQuery や JavaScript の関数を使用するにはどうすればよいでしょうか?

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

私が得ているのは

キャッチされていない TypeError: オブジェクト # にはメソッド 'is' がありません

もしそうなら、私はvalue.getAttribute('style');得る'display: none;'

4

3 に答える 3

2

関数の 2 番目のパラメーターは$.eachDOMHTMLLIElement要素を参照しています。そのような jQuery メソッドを適用するには、要素を jQuery オブジェクト内isにラップする必要があります。value

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 に答える