2012-02-02 4 views
6

可能性の重複Chromeはない:私は配列に見えるすべてのアイテムを取得しようとしています
jquery .is(“:visible”) not working in ChromejQueryの.is( "可視")は、Firefoxで動作しますが、

を。 Firefoxではうまくいきましたが、Chromeではうまくいきません。クロムサイズが0

EDITに等しいままのに対し、Firefoxのサイズ単位で

$.each (t.config.promoInput, function (i, v) { 
    var size = 0; 

    $.each ($(v).find('option'), function (i, v) { 
     $(v).show() // Show all options in <tt>$(v)</tt>. 
      .not(':first-child') // Don't hide <tt>(All)</tt>. 
      .not(':Contains("' + t.config.searchSpanInput.val() + '")') // Don't hide options that match the searchCriteria. 
      .hide(); // Hide everthing that doesn't match or isn't (All). 

     if ($(v).is(":visible")) { 
      size++; 
     } 
    }); 
}); 

は、ここに私のコードです:jQueryライブラリに自分以外で含まれています。これは大文字と小文字を区別しない:containsを含んでいます。

+2

HTMLの外観はどうですか? – Pointy

+0

両方の 'each'コードブロックを閉じる必要があることに注意してください。 –

+0

また、私はよく分かりませんが、ネストされた関数で参照するiとvは親スコープのものにアクセスするので、 –

答えて

0

は、なぜあなたは、単にそれは、それが表示されているよりも、"inline"だ場合、それは、隠しだより"none"だ場合、"display"プロパティをチェックしません:

$.each (t.config.promoInput, function (i, v) { 
    var size = 0; 

    $.each ($(v).find('option'), function (i, va) { 
     $(va).show() // Show all options in <tt>$(v)</tt>. 
      .not(':first-child') // Don't hide <tt>(All)</tt>. 
      .not(':Contains("' + t.config.searchSpanInput.val() + '")') // Don't hide options that match the searchCriteria. 
      .hide(); // Hide everthing that doesn't match or isn't (All). 

    }); 
    //add only visible options 
    if ($(va).css("display") === "inline") { 
     size++; 
    } 
}); 

は(私はChromeでそれをテストした)ここhttp://jsfiddle.net/gwbTm/2/をご覧ください。
私は<option>の可視性を設定すると、ブラウザで問題を作成する何か(expecially IEウィット)

+0

これは、ChromeとFirefoxで異なる結果を生成します – Kloar

関連する問題