2011-10-21 35 views
7

के कुछ प्रकार के सहित मैं इस तरह कुछ कोड है:तत्व के jQuery सूचकांक प्राप्त करें - केवल तत्व

<h2 id="a">Header</h2> 
<table> 
    <tr> 
    <td>test</td> 
    </tr> 
</table> 

<h2 id="zzz">Header</h2> 
<table> 
    <tr> 
    <td>test</td> 
    </tr> 
</table> 

<h2 id="123">Header</h2> 
<table> 
    <tr> 
    <td>test</td> 
    </tr> 
</table> 

मैं निर्धारित करने के लिए, jQuery, किसी दिए गए h2 के सूचकांक के साथ, अन्य सभी को छोड़कर सक्षम होना चाहते हैं तत्व, तो केवल एच 2 तत्वों से संबंधित है। तो उदाहरण के लिए, अगर मुझे आईडी = "123" के साथ आइटम का सूचकांक मिला तो यह 3 लौटाएगा, क्योंकि यह पेड़ में तीसरा एच 2 है।

मैं इस की कोशिश की है:

$('#123').index('h2'); 

लेकिन यह काम करने के लिए प्रतीत नहीं होता। यह अभी भी गिनती में डीओएम संरचना के उसी स्तर पर अन्य तत्वों की गणना करता है।

+1

ध्यान रखें कि "123" आईडी विशेषता के लिए मान्य मान नहीं है। – jbabey

उत्तर

17

आपको तत्वों का संग्रह निर्दिष्ट करना होगा, फिर दिए गए तत्व की अनुक्रमणिका प्राप्त करने के लिए index(<element>) का उपयोग करें। नोट: तर्क एक jQuery या DOM ऑब्जेक्ट होना चाहिए। स्ट्रिंग्स काम नहीं करते हैं।
ध्यान दें कि जावास्क्रिप्ट सूचकांक शून्य-आधारित हैं, इसलिए 2 का सूचकांक वास्तव में तीसरा तत्व का अर्थ है।

$("#123").parent().children('h2').index($('#123')) 

फिडल: http://jsfiddle.net/2dg2q/

+1

यह प्रतिभा है !!, आपको एक पुरस्कार की आवश्यकता है, और मुझे लगता है कि उन्हें – Fanckush

+1

सही उत्तर देने के लिए एक समाचार तरीका बनाना चाहिए! –

+0

https://jsfiddle.net/6ksujand/ बस मेरा उदाहरण यह बताता है कि यह जवाब कितना अच्छा है – Squirrl

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