@ আরভিঘন সমাধানটি ভাল কাজ করে তবে মন্তব্যগুলিতে চিহ্নিত হিসাবে ParentElement
এবং ClassList
উভয়েরই সামঞ্জস্যের সমস্যা রয়েছে। এটি আরও সামঞ্জস্যপূর্ণ করতে, আমি ব্যবহার করেছি:
function findAncestor (el, cls) {
while ((el = el.parentNode) && el.className.indexOf(cls) < 0);
return el;
}
parentNode
সম্পত্তি পরিবর্তে parentElement
সম্পত্তি
indexOf
className
সম্পত্তি উপর পদ্ধতি পরিবর্তে সম্পত্তি contains
উপর পদ্ধতি classList
।
অবশ্যই, সূচকগুলি কেবল সেই স্ট্রিংয়ের উপস্থিতি সন্ধান করছে, এটি পুরো স্ট্রিং কিনা তা বিবেচ্য নয়। সুতরাং আপনার যদি 'পূর্বপুরুষের ধরণের' শ্রেণীর সাথে আরও একটি উপাদান থাকে তবে এটি এখনও 'পূর্বপুরুষ' হিসাবে পাওয়া হিসাবে ফিরে আসবে, যদি এটি আপনার সমস্যা হয় তবে সম্ভবত আপনি একটি সঠিক মিল খুঁজে পেতে regexp ব্যবহার করতে পারেন।
p
উপাদান। আপনি যদি কেবলমাত্র পিতামাতার নোড পেতে চান তবে আপনি এটি করতে পারেনele.parentNode
।