जब jquery चयनकर्ताओं का उपयोग कर वस्तुओं के समूह पर लूपिंग होता है तो यह पता लगाने का एक तरीका है कि संग्रह पर कितने आइटम हैं?
उत्तर
आप श्रृंखलित सिंटैक्स का उपयोग कर रहे हैं । (अनुचित तरीके चयनकर्ता दोहरा और index
का उपयोग कर शामिल होगा।)
लेकिन यह आसान समारोह संग्रह है कि आप each
में कॉल कर रहे हैं उपलब्ध बनाने के लिए काफी है। यहाँ एक तरीका है कि करना है:,
var collection = $(".class");
collection.each(function() {
// You can access `collection.length` here.
});
एक हद तक जटिल विकल्प रूप में आप एक सरणी के लिए अपने jQuery वस्तु परिवर्तित कर और उसके बाद का उपयोग सरणी के forEach
।
$(".class").get().forEach(function(entry, index, array) {
// Here, array.length is the total number of items
});
: तर्क
forEach
के कॉलबैक के लिए पारित करने के प्रवेश का दौरा किया जा रहा है (क्या jQuery
this
के रूप में और
दूसरा तर्क के रूप में आप देता है), उस प्रविष्टि के सूचकांक और सरणी आप पर यह कहा जाता है
यह कम से कम अस्पष्ट आधुनिक जावास्क्रिप्ट इंजन और/या Array#forEach
के लिए एक शिम मानता है।
या उस बात के लिए, अपने आप को एक नया उपकरण दे:
// Loop through the jQuery set calling the callback:
// loop(callback, thisArg);
// Callback gets called with `this` set to `thisArg` unless `thisArg`
// is falsey, in which case `this` will be the element being visited.
// Arguments to callback are `element`, `index`, and `set`, where
// `element` is the element being visited, `index` is its index in the
// set, and `set` is the jQuery set `loop` was called on.
// Callback's return value is ignored unless it's `=== false`, in which case
// it stops the loop.
$.fn.loop = function(callback, thisArg) {
var me = this;
return this.each(function(index, element) {
return callback.call(thisArg || element, element, index, me);
});
};
उपयोग:
$(".class").loop(function(element, index, set) {
// Here, set.length is the length of the set
});
आपका मतलब length
या size()
जैसा है?
मुझे लगता है, उसका मतलब है ** ** लूप के भीतर। –
लंबाई एक विशेषता है, एक समारोह नहीं। आकार() एक ऐसा फ़ंक्शन है जो लंबाई देता है। – Orbit
@ मैट "जब लूपिंग"। मुझे यकीन नहीं है कि इस तरह की सुविधा का बहुत व्यावहारिक उपयोग होगा, हालांकि। –
.length
संपत्ति का प्रयोग करें। यह एक फ़ंक्शन नहीं है।
$(".class").each(function() {
// ...
});
... मैं वहाँ कोई भी (उचित) each
समारोह के भीतर कोड के लिए जिस तरह से पता करने के लिए देखते हैं कितने आइटम नहीं लगता कि:
alert($('.class').length); // alerts a nonnegative number
धन्यवाद, मैंने उपरोक्त को प्रतिबिंबित करने के लिए इसे सही किया। लम्बाई एक संपत्ति है। – kojiro
आप jQuery का एक संस्करण है कि प्रयोग कर रहे हैं संस्करण 1.8 आप $ उपयोग कर सकते हैं की तुलना में कम ('.class')। आकार() जो शून्य पैरामीटर लेता है। .size() विधि पर अधिक जानकारी के लिए documentation देखें।
हालांकि यदि आप 1.8 या उससे अधिक तक (या अपग्रेड करने की योजना) का उपयोग कर रहे हैं तो आप $ ('। Class') का उपयोग कर सकते हैं। लंबाई संपत्ति। .length संपत्ति पर अधिक जानकारी के लिए documentation देखें।
- 1. वर्ग "चेक" के साथ jQuery गिनती आइटम
- 2. निकालें आइटम [i] jQuery से प्रत्येक पाश
- 3. प्रत्येक सरणी आइटम रेल
- 4. JQuery - प्रत्येक अंतिम सूची आइटम में कक्षा कैसे जोड़ें?
- 5. jQuery। प्रत्येक प्रश्न
- 6. प्रत्येक MATLAB वर्ग
- 7. लॉग 4नेट: प्रत्येक वर्ग
- 8. प्रत्येक jQuery
- 9. jQuery प्रत्येक
- 10. jQuery प्रत्येक इनपुट hasClass
- 11. रेंडर: संग्रह प्रत्येक आइटम लपेटें?
- 12. jquery स्वतः पूर्ण आइटम आइटम
- 13. जावा मानक संस्करण में कितने वर्ग हैं?
- 14. कितने वर्ग बहुत अधिक हैं? रेल एसटीआई
- 15. Jquery लोड, एक विशिष्ट वर्ग
- 16. jQuery मानचित्र बनाम प्रत्येक
- 17. jQuery प्रत्येक जगह
- 18. jQuery चाहते प्रत्येक() स्ट्रिंग
- 19. jQuery $ .प्रत्येक() - वस्तुओं
- 20. प्रत्येक Jquery() काउंटर
- 21. jQuery flot, प्रत्येक बिंदु
- 22. jQuery प्रत्येक() कॉलबैक
- 23. jquery-tmpl {{प्रत्येक}} कथन
- 24. मैं प्रत्येक Jquery स्टेटमेंट
- 25. Jquery प्रत्येक JSON ऑब्जेक्ट
- 26. jQuery sortable आइटम ऊंचाई
- 27. jQuery चयनकर्ता एकाधिक आइटम
- 28. jQuery चिनाई आइटम ऑर्डर
- 29. jQuery: वर्ग और इनपुट प्रकार
- 30. PHP लूप: प्रत्येक तीन आइटम सिंटैक्स
या, 'लंबाई' मान को बाहरी दायरे में ही संग्रहीत करें। –
@ मैट: लेकिन ऐसा करने के लिए, और 'प्रत्येक' को भी कॉल करें, मुझे अभी भी कम से कम अस्थायी रूप से संग्रह को संग्रहित करने की आवश्यकता होगी।और क्यों * नहीं * ऐसा करते हैं? –
हाँ, एकमात्र समाधान। मैंने हमेशा सोचा है कि jQuery को कॉलबैक को अतिरिक्त तर्क के रूप में संग्रह की आपूर्ति करनी चाहिए। – lonesomeday