2012-02-02 11 views
6

संभव डुप्लिकेट:
jquery .is(“:visible”) not working in ChromejQuery .is (": दिखाई") फ़ायरफ़ॉक्स में काम करता है लेकिन Chrome नहीं

मैं एक सरणी में दिखाई दे रहा आइटम के सभी प्राप्त करने के लिए कोशिश कर रहा हूँ। यह फ़ायरफ़ॉक्स में ठीक काम कर रहा है लेकिन क्रोम नहीं।

यहाँ मेरी कोड है:

$.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++; 
     } 
    }); 
}); 

फ़ायरफ़ॉक्स आकार वेतन वृद्धि में, Chrome आकार के लिए 0.

संपादित बराबर रहता है, जबकि: शामिल jQuery पुस्तकालय के लिए अपने ही है। यह एक केस-असंवेदनशील संस्करण है: इसमें शामिल हैं।

+2

एचटीएमएल कैसा दिखता है? – Pointy

+0

ध्यान दें कि आपको 'प्रत्येक' कोड ब्लॉक –

+0

दोनों को बंद करना होगा, इसके अलावा, मुझे यकीन नहीं है, लेकिन मुझे लगता है कि नेस्टेड फ़ंक्शंस में i और v को संदर्भित करने से माता-पिता के दायरे में उन लोगों तक पहुंच होगी, इसलिए उन्हें पास करने की आवश्यकता नहीं है? –

उत्तर

0

हाइडिंग और दिखा, (अक्षम सक्षम /) विकल्प अच्छी तरह से समर्थित नहीं है पार ब्राउज़र (/ सक्षम, अक्षम) है। इस समस्या को अपने मुद्दे के संभावित समाधान के लिए देखें: jQuery disable SELECT options based on Radio selected (Need support for all browsers)

एक बार जब आप विकल्पों को छंटनी कर लेते हैं, तो आप आकार प्राप्त करने के लिए लंबाई का उपयोग कर सकते हैं।

0

क्यों आप बस "display" संपत्ति के लिए, की जांच नहीं करता है, तो यह "none" की तुलना में यह छिपा हुआ है अगर यह "inline" की तुलना में यह दिख रहा है है:

$.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++; 
    } 
}); 

यहाँ देखो http://jsfiddle.net/gwbTm/2/ (मैं यह क्रोम के साथ परीक्षण किया)।
मुझे लगता है कि <option> की दृश्यता सेट कुछ है कि ब्राउज़रों के साथ समस्या बनाने (expecially आईई बुद्धि)

+0

यह क्रोम और फ़ायरफ़ॉक्स में अलग-अलग परिणाम बनाता है – Kloar

संबंधित मुद्दे