2010-04-28 7 views
284

जो मैं करने की कोशिश कर रहा हूं वह है कि वर्तमान पृष्ठ के सभी तत्वों को एक ही कक्षा के साथ गिनें और फिर मैं इसे इनपुट फॉर्म के नाम पर जोड़ने के लिए उपयोग करने जा रहा हूं। असल में मैं उपयोगकर्ताओं को <span> पर क्लिक करने की अनुमति दे रहा हूं और फिर ऐसा करके एक ही प्रकार के आइटमों के लिए एक और जोड़ें। लेकिन मैं इन सभी को बस jQuery/जावास्क्रिप्ट के साथ गिनने का तरीका नहीं सोच सकता।वर्ग द्वारा jQuery गिनती तत्व; इसे लागू करने का सबसे अच्छा तरीका क्या है?

मैं आइटम को name="whatever(total+1)" जैसे कुछ नाम देने जा रहा था, अगर किसी के पास ऐसा करने का एक आसान तरीका है तो मैं बहुत आभारी हूं क्योंकि जावास्क्रिप्ट बिल्कुल मेरी मातृभाषा नहीं है।

+2

पहले व्यक्ति मैं यह मिल गया देखा और मैं नहीं जानता था कि यह एक सरल $ था ('। Classname')। लंबाई इसे पाने के लिए। अगर मैं देने के लिए और अधिक था। ऐसा करने की कोशिश नहीं की थी। मैं वैरिएबल को बहुत आसान और सरल चीजें सेट कर रहा हूं जैसे कि दस्तावेजों आदि को जोड़ना आदि। वाह मुझे बहुत गूंगा लग रहा है, मुझे यह देखने के लिए .length() कमांड को देखने के लिए सोचना चाहिए था कि धन्यवाद ... धन्यवाद सभी को बीटीडब्ल्यू। – 133794m3r

+15

+1 योड – jbnunn

+4

@jbnunn जैसे प्रश्न पूछने के लिए योड क्या है? –

उत्तर

520

सिर्फ होना चाहिए कुछ की तरह:

// Gets the number of elements with class yourClass 
var numItems = $('.yourclass').length 




अतिरिक्त नोट के रूप में, यह अक्सर चेनिंग कार्यों का एक बहुत पर कॉल करने से पहले लंबाई संपत्ति की जांच के लिए फायदेमंद है यह सुनिश्चित करने के लिए कि वास्तव में कुछ काम करने के लिए एक jQuery ऑब्जेक्ट है। नीचे देखें:

var $items = $('.myclass'); 
// Ensure we have at least one element in $items before setting up animations 
// and other resource intensive tasks. 
if($items.length) 
{ 
    $items.animate(/* */) 
    // It might also be appropriate to check that we have 2 or more 
    // elements returned by the filter-call before animating this subset of 
    // items. 
    .filter(':odd') 
     .animate(/* */) 
     .end() 
    .promise() 
    .then(function() { 
     $items.addClass('all-done'); 
    }); 
} 
+2

बस यह साझा करना चाहता था कि यह तत्व के बच्चों की गिनती के साथ भी काम करता है, जैसा कि मैं यहां उतरता था, वही है: 'बच्चे ('div.classname')। लंबाई' – brs14ku

+0

निश्चित रूप से कोई अच्छा समाधान नहीं है लेकिन इसके लिए बिल्कुल सही है ओपी। –

12
var count = $('.' + myclassname).length; 
7
गिनती के लिए

:

$('.yourClass').length;

ठीक काम करना चाहिए।

var count = $('.yourClass').length;

22

तत्वों है कि एक ही कक्षा का उल्लेख की संख्या की गिनती हो रही है इस

<html> 
    <head> 
     <script src="http://code.jquery.com/jquery-1.4.2.min.js"></script> 
     <script type="text/javascript"> 

      $(document).ready(function() { 
       alert($(".red").length); 
      }); 

     </script> 
    </head> 
    <body> 

     <p class="red">Test</p> 
     <p class="red">Test</p> 
     <p class="red anotherclass">Test</p> 
     <p class="red">Test</p> 
     <p class="red">Test</p> 
     <p class="red anotherclass">Test</p> 
    </body> 
</html> 
4

HTML के रूप में के रूप में सरल है:

एक चर में संग्रहीत करने जितना ही आसान है:

<div> 
    <img src='' class='class' /> 
    <img src='' class='class' /> 
    <img src='' class='class' /> 
</div> 

जावास्क्रिप्ट:

var numItems = $('.class').length; 

alert(numItems); 

Fiddle demo for inside only div

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