কীভাবে n তম jQuery উপাদান পান


311

JQuery এ, $("...").get(3)3 য় DOM উপাদানটি প্রদান করে। 3 য় jQuery উপাদানটি ফিরিয়ে ফাংশনটি কী?

উত্তর:


310

প্রথমে (সংক্ষিপ্ত) নির্বাচক পৃষ্ঠাটি ব্রাউজ করবেন না কেন?

এটি এখানে: :eq()অপারেটর। এটি ঠিক এর মতো ব্যবহৃত হয় get()তবে এটি jQuery অবজেক্টটি ফিরিয়ে দেয়।

অথবা আপনি .eq()ফাংশন ব্যবহার করতে পারেন ।


23
তার .eq()পরিবর্তে হওয়ার কথা কি না :eq()?
রুবেনগের্ট

15
হ্যাঁ, .eq()ওপি-র প্রশ্নের জন্য আরও উপযুক্ত। :eq()স্ট্রিং প্যারামিটারের মধ্যে ব্যবহৃত হয় $, অন্যদিকে .eq()বিদ্যমান জিকুয়েরি অবজেক্টের একটি পদ্ধতি।
mjswensen

55
আমি কসম খেয়েছি আমাকে যেতে হবে এবং প্রতিবার এটি সন্ধান করা উচিত । এককসময়
ivarni

3
@ জোয়েল ওয়ারশাম পছন্দসই আচরণের উপর নির্ভর করে। $('select').find('option').eq(n)মূলত গ্রুপিংটিকে উপেক্ষা করবে এবং সামগ্রিকভাবে সমস্ত বিকল্প পাবে। আপনি যদি গ্রুপ অনুযায়ী এটি চান তবে এর মতো কিছু প্রয়োজনীয়:$('select').find('optgroup').each(function() { $(this).find('option').eq(n)...; })
ডায়কাম

4
"প্রথমে (সংক্ষিপ্ত) নির্বাচক পৃষ্ঠাটি ব্রাউজ করবেন না কেন?" - কারণ "eq" একটি খুব খারাপ নাম এবং আমি নিয়মিত এটিকে এড়িয়ে
চলেছি

309

আপনি : eq নির্বাচক ব্যবহার করতে পারেন , উদাহরণস্বরূপ:

$("td:eq(2)").css("color", "red"); // gets the third td element

বা eq (int) ফাংশন:

$("td").eq(2).css("color", "red");

এছাড়াও, মনে রাখবেন যে সূচকগুলি শূন্য-ভিত্তিক।


7
প্রতিশব্দ হিসাবে, আপনি :nth()নির্বাচকটি ব্যবহার করতে পারেন:nth-child()
এতে

আরও ভাল উত্তর এবং সত্যের 3 বছর পরে সম্পাদিত হয়নি :)
অ্যান্ড্রু

নির্বাচক / ফাংশনটি কীভাবে ব্যবহার করবেন সে সম্পর্কে প্রকৃতপক্ষে ব্যাখ্যা করার জন্য আপনাকে ধন্যবাদ
জোসেফ রজার্স

49

jQuery অবজেক্ট তৈরি করে এমন প্রশ্নের উপরে যদি আপনার নিয়ন্ত্রণ থাকে তবে ব্যবহার করুন :eq()

$("div:eq(2)")

যদি আপনার এটির নিয়ন্ত্রণ না থাকে (উদাহরণস্বরূপ, এটি অন্য ফাংশন বা কোনও কিছু থেকে পাস করা হচ্ছে), তবে ব্যবহার করুন .eq()

var $thirdElement = $jqObj.eq(2);

অথবা আপনি যদি তাদের একটি অংশ চান (তবে, তৃতীয়, চতুর্থ এবং পঞ্চম উপাদান) ব্যবহার করুন .slice()

var $third4th5thElements = $jqObj.slice(2, 5);

স্লাইস খুঁজছিলেন, তবে কীভাবে অনুসন্ধান করবেন তা নিশ্চিত ছিলেন না। মূল প্রশ্নে যা প্রয়োজন তা ছাড়িয়ে যাওয়ার জন্য ধন্যবাদ।
সামিক আর

4
এই উত্তরটিতে হোঁচট খাচ্ছে এমন লোকদের জন্য, একটি সহায়ক সহায়ক লক্ষ্য করুন যে নবম-বাছাইকারী বাছাইকারীটি 1 ভিত্তিক: একা বা .eq () 0 ভিত্তিক
সুধাংশু মিশ্র

1
আপনি আসলে .eq()পরিবর্তে ব্যবহার করা উচিত :eq()। সামান্য পারফরম্যান্স বুস্ট।
কিওয়ার্টি

13

আমি মনে করি আপনি এটি ব্যবহার করতে পারেন

$("ul li:nth-child(2)").append("<span> - 2nd!</span>");

এটি প্রতিটি মিলিত উলের মধ্যে দ্বিতীয় লি খুঁজে পায় এবং এটি নোট করে।


11

.eq () - উপাদানের 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" );

আরও তথ্যের জন্য: .eq ()


3

আপনার যদি ইতিমধ্যে কোনও ভেরিয়েবলের 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();
ম্যাট

2

যদি আমি আপনার প্রশ্নটি সঠিকভাবে বুঝতে পারি তবে আপনি সর্বদা এইভাবে ফাংশনটি মোড়ানো করতে পারেন:

var $someJqueryEl = $($('.myJqueryEls').get(3));

3
এটি কেবলমাত্র "শক্ত উপায়" এবং eq()এটি আপনাকে বিনামূল্যে দেয়।
ক্যামনস

1

আপনি যদি কোনও নির্দিষ্ট উপাদান / নোড আনতে চান বা লুপে যেমন উদাহরণস্বরূপ

<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/ অনুসরণ করুন


0

পুনরাবৃত্তির জন্য একজন নির্বাচক ব্যবহার করে কোনও বোধগম্য মনে হয় না:

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
   // ...
}

0

JQuery সহ Nth উপাদানটি অ্যাক্সেস করতে এবং সরানোর জন্য সরাসরি উদাহরণ:

<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>

এটি যখন চলে তখন অর্ডার করা তালিকায় দুটি আইটেম থাকে যা প্রথম এবং তৃতীয় দেখায়। দ্বিতীয়টি লুকানো ছিল।


PS: গণনা 0 থেকে শুরু; প্রথম সূচীতে 0, দ্বিতীয়টি সূচকে 1 তে এবং তেমন ....
কেএনইউ

0
 $(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>

"$ (ফাংশন () fall" পড়ার আগে, আমি বেনামে ফাংশন তৈরি করেছি, যা স্বয়ংক্রিয়ভাবে গুলি ছড়িয়ে পড়ে that এর মধ্যে, আমি তিন ভাইবোন ব্যবহার করে পিতামাতার তিনটি ডিভ পেয়েছি Then তারপরে আমি তিনটি প্যারেন্ট ডিভিতে পুনরাবৃত্তি করেছি এবং প্রতিটি বাচ্চার দৈর্ঘ্যের দৈর্ঘ্য পরীক্ষা করে দেখি। আমি কীভাবে সনাক্ত করতে পারি যে পিতামহী বিভাজনে সর্বশেষ ডিভ হয় কি না Now এখন আমি প্রতি 3 প্রধান
সঞ্জয় ভার্মা

মন্তব্যগুলিতে তথ্য দেওয়ার পরিবর্তে আপনি নিজের উত্তরটি সম্পাদনা করতে পারেন :)
টি 3 এইচ 40
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.