2012-10-10 18 views
5

यदि मैं किसी तत्व पर .hide() पर कॉल करता हूं, तो क्या jQuery इसे सामान्य डोम चयनकर्ता में चुन सकता है।jQuery jQuery छुपा तत्वों का चयन करेगा

यदि jQuery सामान्य रूप से छिपा तत्वों का चयन करता है, तो केवल दृश्य तत्वों का चयन करने का उचित तरीका क्या है। क्या मैं एक सीएसएस चयनकर्ता का उपयोग कर सकता हूं, या ऐसा करने का एक और वैध तरीका है?

+0

यह संरचना से शैली को अलग करने के फायदों में से एक है। –

+2

मुझे वास्तव में समझ में नहीं आता कि यह प्रश्न रचनात्मक नहीं था क्यों। ऐसा लगता है कि वह एक बहुत ही सरल हां/कोई सवाल नहीं पूछ रहा है, और फिर एक बहुत ही विशिष्ट लक्ष्य को पूरा करने के लिए एक विधि मांग रहा है। मुझे समझ में नहीं आ रहा है कि क्यों "बहस, तर्क, मतदान, या विस्तारित चर्चा मांगना" होगा। मैं अनिवार्य रूप से असहमत नहीं हूं, लेकिन मैं यह समझना चाहता हूं कि इस प्रश्न का क्या मानदंड पूरा नहीं हुआ। – Isochronous

उत्तर

3

हां। hide फ़ंक्शन केवल आपके तत्व की डिस्प्ले सीएसएस प्रॉपर्टी का वर्तमान मान संग्रहीत करता है, फिर इसे none पर सेट करें। इसलिए जब तक वे किसी विशेष display सीएसएस मान वाले तत्वों से मिलान करने का प्रयास नहीं करते हैं, तब तक डोम चयनकर्ता इससे प्रभावित नहीं होंगे।

इसे here देखें।

jQuery hide function documentation पर एक नज़र डालें।

1

हां यह छिपा तत्वों की गणना करेगा।

1

हां, यह सिर्फ एक डिस्प्ले जोड़ता है: तत्व के लिए कोई भी शैली ... .remove() दूसरी तरफ गिनती में दिखाई नहीं देगी। लेकिन यह पूरी तरह से इससे छुटकारा पाता है, और जब तक आप कहीं भी मूल्य संग्रह नहीं करते हैं, यह पुनर्प्राप्त नहीं होता है।

मुझे लगता है कि आप क्या करना चाहते हैं दृश्यमान वस्तुओं की गणना करना है। मैं इसके बजाय निम्नलिखित करता हूं:

$('.element').addClass('hide'); 

var count_of_visible_items = $('.element:not(".hide")').length; 
console.log(count_of_visible_items); 
संबंधित मुद्दे