কিভাবে jQuery ফাংশন দ্বারা শুধুমাত্র সরাসরি শিশু উপাদান পেতে


90

আমার এই মত একটি টেবিল কাঠামো আছে:

<table1>
  <tbody>
    <tr>
      <td></td>
        ...
      <td>
        <table2>
          <tbody>
            <tr>
              <td></td>
            </tr>
          </tbody>
        </table>
      </td>
    </tr>
   </tbody>
  </table>

জাভাস্ক্রিপ্ট, আমি একটি পরিবর্তনশীল আছে tblমান $(table1), এবং তারপর আমি সব সরাসরি সন্তান উপাদান (TR) পেতে চান <tbody>এর table1। আমার কোডটি হ'ল:

$('tr', tb1)

স্পষ্টতই এটি <tr>টেবিল 1 এবং টেবিল 2-এ সমস্ত উপাদান প্রদান করে। আমি মনে করি আমি পেতে পারি

$('tr', tb1).not(function(){return $(this).parent().parent()[0] != tb1;})

বা এই ধরণের যুক্তি।

আমি জানি $('table1 > tbody > tr')সরাসরি বাচ্চা পেতে পারি tr। দুর্ভাগ্যক্রমে আমি এটি ব্যবহার করতে পারি না।

কারও সম্পর্কে এ সম্পর্কে ভাল ধারণা আছে?

ধন্যবাদ

উত্তর:


179

আপনি ব্যবহার করতে পারেন find():

tbl.find("> tbody > tr")


4
এটি বুদ্ধিমান ধারণা। $ ('> tbody> tr', tb1) আমার পক্ষেও কাজ করে। ধন্যবাদ.
জেসন লি

4
এটি দুর্দান্ত, আমি জানতাম না যে আপনি সরাসরি শিশু নির্বাচক ( >) এর সামনে কিছু উল্লেখ না করে ব্যবহার করতে পারবেন । ধন্যবাদ.
সিল্কফায়ার

4
মনে রাখবেন যে সরাসরি বাচ্চাদের কেবলমাত্র এক স্তর নীচে আপনি কেবল 'শিশুরা ([নির্বাচক])' ব্যবহার করতে পারেন।
ওরাড

37
সরাসরি শিশুরা = এক স্তর নীচে বাচ্চাদের , সুতরাং api.jquery.com/children সঠিক উত্তর, খুঁজে পাবে না () - যে কোনও একটি উপাদানটির সমস্ত বংশধর (নির্বাচিত দ্বারা ফিল্টার করা) পায় ...
jave.web

4
আপনার মন্তব্যটি একটি পৃথক উত্তর জাভ করা উচিত weweb আপনার হিসাবে সঠিক উত্তর।
mrmillsy

23

যেমন @ জাভে.ওয়েব মন্তব্যগুলিতে উল্লেখ করেছেন

কোনও উপাদান ব্যবহারের সরাসরি বাচ্চাদের অনুসন্ধান করতে .children()। এটি কেবল সরাসরি বাচ্চাদের মধ্যে অনুসন্ধান করবে এবং কোনও গভীরতর পথ পাবে না। http://api.jquery.com/children/


5

বাসা বাঁধার টেবিলগুলি সম্পর্কে সতর্ক হওয়া উচিত ঠিক এই কারণেই This আমি সত্যিই আশা করি যে আপনি এগুলি পৃষ্ঠার বিন্যাস নয়, ডেটা জন্য ব্যবহার করেন।

সম্ভবত আপনার দিনটিকে নষ্ট করবে এমন আরেকটি সমস্যা হ'ল নেস্টেড টেবিলগুলিতে সিএসএস নির্বাচনকারীদের ব্যবহার করা হচ্ছে ... আপনার মূলত একই সমস্যা রয়েছে - আপনি অভ্যন্তরীণ টেবিলের অভ্যন্তরেও নির্বাচন না করে বাইরের টেবিলের টিআর উপাদান নির্বাচন করতে পারবেন না। (আপনি শিশু নির্বাচক ব্যবহার করতে পারবেন না কারণ এটি আই 6 তে প্রয়োগ করা হয়নি)

এই কাজ করা উচিত:

$("#table1 > tbody > tr")

তবে, আমি আপনাকে পরামর্শ দিচ্ছি যে আপনি টিবিডিওয়াই উপাদানটি হার্ডকোড করুন, যেহেতু আপনার জন্য এটি তৈরি করতে আপনার ব্রাউজারের উপর নির্ভর করা উচিত নয়।



0

যদি আপনার উভয় উপাদানগুলির আইড থাকে এবং আপনি কোডের নীচে সরাসরি উপাদান ব্যবহার করতে চান

$("#parent > #two")

আপনি যদি নেস্টেড অনুসন্ধান চান তবে আপনি অনুসন্ধানটি ব্যবহার করতে পারেন। এটি বিস্তারিতভাবে এখানে ব্যাখ্যা করা হয়। https://handyopinion.com/jquery-selector-find-nested-child-elements/

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