jquery

2009-01-22 3 views
16

का उपयोग कर तालिका में एक पंक्ति का सूचकांक कैसे खोजें I तालिका में एक पंक्ति का सूचकांक ढूंढने का प्रयास कर रहा हूं। मैं निम्नलिखित कोड का उपयोग करने की कोशिश कर रहा हूं, लेकिन मुझे -1 का सूचकांक मिल रहा है।jquery

$(document).ready(function() 
{ 
    $("tr").click(function(){ 
     var index = $("table").index($(this)); 
     $("span").text("That was row index #" + index); 
    }); 
}); 

एचटीएमएल के साथ ऐसा दिखता है;

<table> 
<tbody> 
    <tr><td>click</td></tr> 
    <tr><td>click</td></tr> 
    <tr><td>click</td></tr> 
    <tr><td>click</td></tr> 
</tbody> 

धन्यवाद

+0

var index = $ (this) .index(); –

उत्तर

31

आप कोशिश की है। यह मेरे लिए काम किया

// haven't tested this 
$("tr", $(this).closest("table")).index(this) 
+0

धन्यवाद, यह बहुत उपयोगी है। – ilivewithian

+1

पंक्ति के अंदर एक बच्चे से, $ (यह) .closest ("tr")। अनुक्रमणिका() चाल करता है। इस उत्तर में दूसरा विकल्प काम नहीं करता है। –

10

प्रयास करें:

var index = $("table tr").index(this); 

index() के लिए दस्तावेज़ का कहना है: वस्तु के लिए

खोजों हर मिलान किया तत्व और शून्य से शुरू होने पर तत्व की अनुक्रमणिका लौटाता है। यदि कोई jQuery ऑब्जेक्ट पास हो जाता है, तो केवल पहले तत्व की जांच की जाती है।

आप <tr> तत्वों, नहीं माता पिता <table> का एक संग्रह पर index() कॉल करने के लिए की जरूरत है।

$("tr").index(this) 

प्रलेखन सिर्फ इस गुजर और कहा कि पूर्ववर्ती चयन जहां नोड पाया जाता है होना चाहिए पता चलता है:

+0

सही समझ में आता है। हालांकि सब कुछ पर -1 हो रही है। – Winnemucca

+0

@stevek मैंने '' ('' '' '' को हटाने के लिए उत्तर संपादित किया, क्योंकि मुझे यकीन नहीं है कि jQuery एक ही ऑब्जेक्ट उदाहरण को उसी नोड उदाहरण के साथ '$' पर कॉल पर उसी ऑब्जेक्ट इंस्टेंस को वापस कर देगा। –

2

लूटता जवाब के आधार पर विशिष्ट तालिका में सूचकांक को खोजने के लिए,: आप एक विशिष्ट तालिका में ढूंढ़ें (और वहाँ कई हैं) की जरूरत है, तो आप कुछ संदर्भ प्रदान करने की आवश्यकता हो सकती है।

var index = $('tr', $(this).closest("table")).index(this);