পিতামাতার jQuery পিতা


93

আমি বর্তমানে কোনও উপাদানটির পিতামাতার সন্ধানের চেষ্টা করছি। আমার একটি লিঙ্ক ক্লিক করা হচ্ছে যা একটিতে রয়েছে<td> এবং আমি <tr>অবজেক্টটি পেতে চাই ।

"$ (এটি)। পিতামাতা ()। পিতামাত ()" কাজ কেন করবে না? কি হবে?

ধন্যবাদ,
ব্রেন্ডন

সম্পাদনা: আমার সিনট্যাক্সে এটির একটি ত্রুটি পুরো জিনিসটি ফেলে দিচ্ছে বলে মনে হচ্ছে। "$ (এটি)। পিতা-মাতা ()। পিতা-মাতা ()" আসলে কাজ করে তবে আমি this (এটি) .ক্লসোস্ট ('টিআর') "দিয়ে গিয়ে জখম করি কারণ এটি সর্বাধিক দক্ষ সমাধান বলে মনে হয়।


4
আপনি কি কোড পোস্ট করতে পারেন যাতে আমরা দেখতে পারি যে আপনার পিতামাতা নির্বাচক কেন কাজ করছেন না?
টিস্টেম্পার

উত্তর:


222

সবচেয়ে ভাল উপায় সম্ভবত ব্যবহার করা হবে closest:

$(this).closest('tr');

ডকুমেন্টেশন দেখুন :

ঘনিষ্ঠতম বর্তমানের উপাদানটি সুনির্দিষ্টভাবে প্রকাশের সাথে এটি মিলছে কিনা তা দেখার জন্য কাজ করে, যদি তাই হয় তবে এটি কেবলমাত্র উপাদানটিকে ফেরত দেয়। যদি এটি না মেলে তবে নির্দিষ্ট দাবির সাথে মিল পাওয়া কোনও উপাদান না পাওয়া পর্যন্ত এটি পিতামাতার দ্বারা পিতামাতার দস্তাবেজটিকে অনুসরণ করতে থাকবে। যদি কোনও মিলের উপাদান পাওয়া যায় না তবে কোনওটিই ফেরত আসবে না।


20

এটি কাজ করা উচিত. আপনি $ (এটি) .বিশেষ (ট্যাগ) ব্যবহার করে দেখতে পারেন, যেখানে ট্যাগটি আপনি যে ট্যাগটি খুঁজতে চান তা।

উদাহরণ স্বরূপ:

$(this).parents("tr:first")

নিকটতম টিআর "চেইন আপ" সন্ধান করবে।


9

এটি কাজ করা উচিত ... আপনি চেষ্টা করতে পারেন

$(this).parents(':eq(1)');

.parents (নির্বাচক) সমস্ত পূর্বপুরুষদের যে নির্বাচক মেলে পেতে বলছেন

এবং: এক (1) বলেছে তালিকায় অনথটি (শূন্য-সূচকযুক্ত, তাই দ্বিতীয়) উপাদানটি অনুসন্ধান করুন


এটি এইচটিএমএল অ্যাঙ্কর ট্যাগ কিনা তা নিশ্চিত করার জন্য আপনি এটি সতর্ক করার চেষ্টা করতে পারেন। করার চেষ্টা করুন: সতর্কতা ('অ্যাঙ্কর এইচটিএমএল (' + $ (এটি) .html () + ')') ');
লাতান

6

এই স্নিপেট অতীতে আমার জন্য পরিবেশন করেছে:

$(this).parent().parent(); 

কোথাও অন্য কোনও সমস্যা হতে পারে কিনা তা দেখতে আমাদের জন্য কিছু কোড পোস্ট করুন ...


আমি এটার সাথে একমত. আমি $(this).parent().parent()ইস্যু ছাড়াই ব্যবহার করতে পারি
ড্রুয়েট


2

আপনার যদি পিতামাতার জন্য কোনও ধরণের আইডি / শ্রেণি থাকে তবে আপনি পিতামাতাকে () ব্যবহার করতে পারেন তবে এটি আপনাকে সমস্ত পিতামাতাকে <বডি> পর্যন্ত প্রদান করবে যদি না আপনি ফিল্টার () বা অন্য কোনও উপায়ে বন্ধ না করেন তবে

$(this).parents('.myClass');

আশা করি এটি কাউকে সাহায্য করবে :)


1

$ (এটি)। পিতা-মাতা () কে Qu ($ (এটি)। পিতা-মাতা) এর মতো jQuery অবজেক্টে মোড়ানোর চেষ্টা করুন আমি প্রায়শই একটি বৈধ jquery অবজেক্ট আছে তা নিশ্চিত করার জন্য এটি করার প্রয়োজন বোধ করি। সেখান থেকে আপনার পিতামাতার পিতামাতার একটি হোল্ড পেতে সক্ষম হতে হবে বা সম্ভবত () ব্যবহার করতে পারেন।


8
এটি সম্পূর্ণ অর্থহীন। আপনি যা করছেন তা হ'ল আরেকটি jQuery অবজেক্ট তৈরি করে সময় নষ্ট করা হচ্ছে ...
জেমস


0

.closest() আপনার যখন একই উপাদান তৈরি হয় তখন বিশেষত সর্বদা সেরা বিকল্প হয় না।

<div>
    <div>
        <div>
        </div>
    </div>
</div>

আপনি কোনও পিতামাতার পিতা বা মাতা করতে পারেন এবং এটি খুব সহজ:

var parent = $('.myDiv').parent();
var parentParent = $(parent).parent();
var parentParentParent = $(parentParent).parent();

ইত্যাদি

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