2011-01-04 12 views
8

क्या मैं सूचकांक मूल्य के साथ इतना आसानी से काम कर सकता हूं? मुझे लगता है कि कक्षाओं का उपयोग करते हुए प्राकृतिक सूचकांक मूल्यों का उपयोग करना बेहतर होता है। मैं उस तरह से .index का उपयोग करना चाहता हूँ।

एचटीएमएल

<div id="test"> 
<ul> 
<li>Im index 0</li> 
<li>Im index 1</li> 
<li>Im index 2</li> 
<li>Im index 3</li> 
</ul> 
</div> 

छद्म (JQuery) जावास्क्रिप्ट

$('#test ul > li').index(2).hide(); 

$('#test ul > li').index(1).click(function() { 
alert('lulz you clicked the li with the index value of 1 bro'); 
}); 

मैं एक सुराग कैसे .. यह संभव है .index मूल्य के साथ इस तरह से काम इस के साथ आसानी से काम करने के लिए के लिए मिल नहीं करता तरीका??

उत्तर

12

आप eq उपयोग कर सकते हैं:

:

$('#test ul > li').eq(2).hide(); 

यह भी अपने चयनकर्ता का एक हिस्सा हो सकता है

$('#test ul > li:eq(2)').hide(); 

यदि आप तीसरे 0 चाहते हैं#test में सभी ul रों में, आप nth-child (ध्यान दें यह है 1-आधारित) का उपयोग कर सकते हैं:

$('#test ul > li:nth-child(3)').hide(); 
1

आप इसे एक पूर्णांक (संख्या) के साथ उपयोग कर रहे हैं, लेकिन आप इसे केवल चयनकर्ता या तत्व के साथ उपयोग कर सकते हैं। here

संपादित करें:
आप इस तरह अपने खुद के समारोह लिख सकते हैं:

function indexValue(index) 
{ 
    $(element).each(function(key, val) { 
     if(key+1 == index) // + 1 because you started from 0 
     { 
      return val; 
     } 
    }); 
} 
5

हाँ आप कर सकते हैं। आप .index() के बजाय हालांकि .eq() चाहते हैं,:

$('#test ul > li').eq(2).hide(); 

या चयनकर्ता के हिस्से के रूप:

$('#test ul > li:eq(2)').hide(); 
0
$(document).ready(function(){ 
    $("button#1").click(function(){ 
    $("p").hide(); 
    }); 
}); 
$(document).ready(function(){ 
    $("button#2").click(function(){ 
    $("p").show(); 
    }); 
}); 
<button id="1">Clica-me</button> 
<button id="2">Volta-me</button> 
संबंधित मुद्दे