जवाबों:
पहले (लघु) चयनकर्ताओं पृष्ठ को ब्राउज़ क्यों नहीं किया जाता है?
यहाँ यह है: :eq()ऑपरेटर। इसका उपयोग ठीक वैसे ही किया जाता है get(), लेकिन यह jQuery ऑब्जेक्ट लौटाता है।
या आप .eq()फंक्शन का भी इस्तेमाल कर सकते हैं ।
.eq()ओपी के प्रश्न के लिए अधिक उपयुक्त है। :eq()स्ट्रिंग पैरामीटर के भीतर उपयोग किया जाता है $, जबकि .eq()मौजूदा jQuery ऑब्जेक्ट पर एक विधि है।
$('select').find('option').eq(n)मूल रूप से समूहीकरण को अनदेखा करेगा, और सभी विकल्पों को समग्र रूप से प्राप्त करेगा। यदि आप इसे प्रति समूह चाहते हैं, तो ऐसा कुछ आवश्यक है:$('select').find('optgroup').each(function() { $(this).find('option').eq(n)...; })
आप उपयोग कर सकते हैं : उदाहरण के लिए eq चयनकर्ता:
$("td:eq(2)").css("color", "red"); // gets the third td element
या eq (int) फ़ंक्शन:
$("td").eq(2).css("color", "red");
इसके अलावा, याद रखें कि इंडेक्स शून्य-आधारित हैं।
:nth()चयनकर्ता का उपयोग भी कर सकते हैं - भ्रमित न होने के लिए:nth-child()
यदि आपके पास jQuery ऑब्जेक्ट का उपयोग करने वाले क्वेरी पर नियंत्रण है, तो उपयोग करें :eq()
$("div:eq(2)")
यदि आपके पास इस पर नियंत्रण नहीं है (उदाहरण के लिए, इसे किसी अन्य फ़ंक्शन या कुछ और से पारित किया जा रहा है), तो उपयोग करें .eq()
var $thirdElement = $jqObj.eq(2);
या यदि आप उनमें से एक वर्ग (जैसे, तीसरे, चौथे और पांचवें तत्व) चाहते हैं, का उपयोग करें .slice()
var $third4th5thElements = $jqObj.slice(2, 5);
.eq()इसके बजाय उपयोग करना चाहिए :eq()। थोड़ा सा प्रदर्शन बढ़ा।
.eq () -n पूर्णांक तत्व की 0-आधारित स्थिति को दर्शाता है।
उदाहरण के लिए:
उस पर एक साधारण सूची वाले पृष्ठ पर विचार करें:
<ul>
<li>list item 1</li>
<li>list item 2</li>
<li>list item 3</li>
<li>list item 4</li>
</ul>
हम इस विधि को सूची आइटम के सेट पर लागू कर सकते हैं:
$( "li" ).eq( 2 ).css( "background-color", "red" );
यदि आपके पास चर में पहले से ही jquery वस्तु है, तो आप इसे केवल एक सामान्य अनुक्रमित सरणी के रूप में भी देख सकते हैं, बिना jquery के उपयोग के:
var all_rows = $("tr");
for(var i=0; i < all_rows.length; i++){
var row = all_rows[i];
//additionally, you can use it again in a jquery selector
$(row).css("background-color","black");
}
हालांकि उपरोक्त उदाहरण किसी भी तरह से उपयोगी नहीं है, यह प्रतिनिधित्व कर रहा है कि आप अनुक्रमित सरणियों के रूप में jquery द्वारा बनाई गई वस्तुओं का इलाज कैसे कर सकते हैं।
<select>तत्वों की एक सूची है , और आप चयनित कॉम्बोक्स तत्व चाहते हैं, तो उपयोग करें$(row).val();
अगर मैं आपके प्रश्न को सही ढंग से समझ पाऊं, तो आप हमेशा की तरह फंक्शन को लपेट सकते हैं:
var $someJqueryEl = $($('.myJqueryEls').get(3));
eq()आपको मुफ्त में देता है।
यदि आप उदाहरण के लिए विशेष तत्व / नोड या लूप में टैग प्राप्त करना चाहते हैं
<p class="weekday" data-today="monday">Monday</p>
<p class="weekday" data-today="tuesday">Tuesday</p>
<p class="weekday" data-today="wednesday">Wednesday</p>
<p class="weekday" data-today="thursday">Thursday</p>
तो, ऊपर से कोड लूप निष्पादित किया जाता है और हम चाहते हैं कि विशेष क्षेत्र का चयन करें जिसके लिए हमें jQuery चयन का उपयोग करना होगा जो उपरोक्त लूप से केवल अपेक्षित तत्व का चयन कर सकता है, इसलिए कोड होगा
$('.weekdays:eq(n)');
जैसे
$('.weekdays:eq(0)');
साथ ही अन्य विधि से
$('.weekday').find('p').first('.weekdays').next()/last()/prev();
लेकिन पहली विधि अधिक कुशल है जब HTML <tag> अद्वितीय वर्ग नाम है, है।
नोट: दूसरी विधि का उपयोग तब किया जाता है जब लक्ष्य तत्व या नोड में उनका कोई वर्ग नाम नहीं होता है।
ज्यादा फॉलो करने के लिए https://api.jquery.com/eq/
चयनकर्ता का उपयोग करने वाले पुनरावृत्तियों के लिए हालांकि कोई मतलब नहीं लगता है:
var some = $( '...' );
for( i = some.length -1; i>=0; --i )
{
// Have to transform in a jquery object again:
//
var item = $( some[ i ] );
// use item at will
// ...
}
<html>
<head></head>
<body>
<script type="text/javascript"
src="http://code.jquery.com/jquery-2.1.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('li:eq(1)').hide();
});
</script>
<ol>
<li>First</li>
<li>Second</li>
<li>Third</li>
</ol>
</body>
</html>
जब यह चलता है, तो आदेशित सूची में दो आइटम हैं जो दिखाते हैं, पहला और तीसरा। दूसरा छिपा हुआ था।
$(function(){
$(document).find('div').siblings().each(function(){
var obj = $(this);
obj.find('div').each(function(){
var obj1 = $(this);
if(!obj1.children().length > 0){
alert(obj1.html());
}
});
});
});
<div id="2">
<div>
<div>
<div>XYZ Pvt. Ltd.</div>
</div>
</div>
</div>
<div id="3">
<div>
<div>
<div>ABC Pvt Ltd.</div>
</div>
</div>
</div>
.eq()इसके बजाय होना चाहिए:eq()?