মৌলের ডিভেন্ডেন্ট ডিভ পাওয়া


208

এটি সত্যই সহজ হওয়া উচিত তবে আমার এটির সাথে সমস্যা হচ্ছে। আমি কীভাবে সন্তানের উপাদানগুলির পিতামাতার ডিভ পেতে পারি?

আমার এইচটিএমএল:

<div id="test">
    <p id="myParagraph">Testing</p>
</div>

আমার জাভাস্ক্রিপ্ট:

var pDoc = document.getElementById("myParagraph");
var parentDiv = ??????????   

আমি ভাবতাম document.parentবা parent.containerকাজ করতাম তবে আমি not definedত্রুটি পেতে থাকি । নোট করুন যে pDocসংজ্ঞায়িত করা হয়েছে, এর নির্দিষ্ট কিছু ভেরিয়েবল নয়।

কোন ধারনা?

পিএস আমি যদি সম্ভব হয় তবে jQuery এড়াতে পছন্দ করব।

উত্তর:


336

আপনি খুঁজছেন parentNode, যা Elementউত্তরাধিকার সূত্রে Node:

parentDiv = pDoc.parentNode;

সহজ রেফারেন্স:

  • DOM2 কোর স্পেসিফিকেশন - সমস্ত বড় ব্রাউজার দ্বারা ভাল-সমর্থিত
  • DOM2 এইচটিএমএল স্পেসিফিকেশন - ডিওএম এবং এইচটিএমএল মধ্যে বাইন্ডিং
  • DOM3 কোর স্পেসিফিকেশন - কিছু আপডেট, সমস্ত বড় ব্রাউজার দ্বারা সমর্থিত নয়
  • এইচটিএমএল 5 স্পেসিফিকেশন - এতে এখন ডোম / এইচটিএমএল বাইন্ডিং রয়েছে

33

আপনি যদি কোনও নির্দিষ্ট ধরণের উপাদানটির সন্ধান করছেন যা তাত্ক্ষণিক পিতামাতার চেয়ে আরও দূরে রয়েছে, আপনি কোনও ফাংশন ব্যবহার করতে পারেন যা ডিওএম-এ উঠে যায় যতক্ষণ না এটি পাওয়া যায় বা না পায়:

// Find first ancestor of el with tagName
// or undefined if not found
function upTo(el, tagName) {
  tagName = tagName.toLowerCase();

  while (el && el.parentNode) {
    el = el.parentNode;
    if (el.tagName && el.tagName.toLowerCase() == tagName) {
      return el;
    }
  }

  // Many DOM methods return null if they don't 
  // find the element they are searching for
  // It would be OK to omit the following and just
  // return undefined
  return null;
}

jQuery সহ: el.closest (ট্যাগনাম)
উল্লু জুলু

3
@ উল্ল্লু — আসুন দেখুন, 10,000 লাইব্রেরির লাইন বা একটি 10 ​​লাইন ফাংশন? ;-)
রবজি




-1

কোনও উপাদানটির পিতামাতাকে জানা যখন আপনি উপাদানগুলির "বাস্তব-প্রবাহ" স্থির করার চেষ্টা করছেন তখন দরকারী।

প্রদত্ত কোডের নীচে যার আইডি সরবরাহ করা হয়েছে সেগুলির পিতামাতার আইডি আউটপুট দেবে। মিসিলাইনমেন্ট নির্ণয়ের জন্য ব্যবহার করা যেতে পারে।

<!-- Patch of code to find parent -->
<p id="demo">Click the button </p>
<button onclick="parentFinder()">Find Parent</button>
<script>
function parentFinder()
{
    var x=document.getElementById("demo"); 
    var y=document.getElementById("*id of Element you want to know parent of*");
    x.innerHTML=y.parentNode.id;
}
</script>
<!-- Patch ends -->
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.