কীভাবে jQuery ব্যবহার করে প্রথম পিতামাতার ডিআইভি নির্বাচন করবেন?


96
var classes = $(this).attr('class').split(' '); // this gets the current element classes

var classes = $(this).parent().attr('class').split(' '); // this gets the parent classes.

উপরের পরিস্থিতিতে পিতা-মাতার একজন অ্যাঙ্কর।

যদি আমি parent (এটি) এর প্রথম পিতামাতার ডিআইভি পেতে চাইতাম তবে কোডটি কেমন হবে?

var classes = $(this).div:parent().attr('class').split(' '); // just a quick try.

* মূলত আমি parent (এটি) এর প্রথম পিতামাতার ডিআইভি এর ক্লাস পেতে চাই।

ধন্যবাদ

উত্তর:


161

ব্যবহারের .closest()নির্দিষ্ট নির্বাচক পর্যন্ত DOM গাছ আপ তর্ক করতে।

var classes = $(this).parent().closest('div').attr('class').split(' '); // this gets the parent classes.

10
parents("div")ঢোঁড়ন এবং আয় সব পিতা বা মাতা DIV আছে আপনি ব্যবহার করা উচিৎ .eq(0)এটা নিশ্চিত করতে পরে এটি শুধু একটা যদি আপনি চান ফেরৎ
Meo

4
মনে রাখবেন যে এটা ব্যবহার করা পারফরম্যান্সের জন্য ভালো .parents('div').eq(0)- যে পার্স CSS নির্বাচনকারী শুধুমাত্র প্রথম উপাদানে ফিল্টার jQuery এর দ্বারা অনুসরণ ব্যবহার করে আপনি সামান্য কর্মক্ষমতা সাহায্য দিতে হবে - 'অতিরিক্ত নোট' উপর অধ্যায় দেখুন JQuery: EQ ডক
নূহ হোইটমোর

@ NoahWhitmore এটি স্থির করেছে ব্যবহার করা হয়েছে closest()যাতে এটি সমস্ত পিতামাতাকে ছাড়া পিতামাতাকে ফিরিয়ে দেয় না div
শেফ

41

ব্যবহার করুন .closest(), যা প্রদত্ত নির্বাচকটির সাথে মেলে এমন প্রথম পূর্বপুরুষের উপাদান 'div':

var classes = $(this).closest('div').attr('class').split(' ');

সম্পাদনা:

@ শেফ উল্লেখ করেছেন যে, ডিআইভি হওয়ার কারণে .closest()যদি বর্তমান উপাদানটি ফিরে আসে তবে। এটিকে আমলে নিতে .parent()প্রথমে ব্যবহার করুন :

var classes = $(this).parent().closest('div').attr('class').split(' ');

5
.closest()যদি $(this)একটি ডিআইভি উপাদান থাকে তবে নিজের সাথে মেলে ।
শেফ

@ শেফ, ধন্যবাদ আমার কাছে এটি নতুন তথ্য ছিল। এটি প্রতিফলিত করার জন্য আমি আমার উত্তর সম্পাদনা করেছি।
তাতু উলমানেন

4
আপনি কেবল ব্যবহার করতে পারেন.parents("div").eq(0)
মেও



0

সেরা দুটি বিকল্প হয়

$(this).parent("div:first")

$(this).parent().closest('div')

এবং অবশ্যই আপনি ক্লাস অ্যাটর্নি দ্বারা খুঁজে পেতে পারেন

$(this).parent("div:first").attr("class")

$(this).parent().closest('div').attr("class")
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.