के बारे में जानकारी प्रदर्शित करने के लिए डोम पेड़ को स्थानांतरित करना मुझे लगता है कि यह एक आसान समस्या होनी चाहिए, लेकिन मैं खुद को अटक गया हूं। जो मैं करने की कोशिश कर रहा हूं वह एक तरीका स्थापित करता है ताकि जब भी आप किसी तालिका (या कहीं भी) पर किसी सेल पर क्लिक करते हैं, तो यह प्रत्येक तत्व के पैरेंट नोड को प्रदर्शित करता है, जो अनिवार्य रूप से डोम पेड़ को घुमाता है। मुझे लगा कि मुझे elem.parentNode का उपयोग करने की आवश्यकता होगी, लेकिन मैं ट्रैवर्सिंग भाग पर फंस गया हूं। वहां कोई भी गुरु जो मेरी मदद कर सकता है, इसकी सराहना की जाएगी।पेरेंट नोड
उत्तर
var element; //your clicked element
while(element.parentNode) {
//display, log or do what you want with element
element = element.parentNode;
}
var tables = document.getElementsByTagName('table');
for (var i=0,len=tables.length;i<len;++i){
tables[i].onclick = function(evt){
if (!evt) evt = window.event;
var element = evt.target || evt.srcElement;
while (element){
console.log(element);
element = element.parentNode;
}
};
}
तुम सच में किसी भी तत्व पर हर जगह है, तो बस पर क्लिक करें:
document.body.onclick = function(evt){
if (!evt) evt = window.event;
var element = evt.target || evt.srcElement;
while (element){
console.log(element);
element = element.parentNode;
}
};
मैं आज तक उस घटना गुण 'currentTarget' की तरह सोचा और' target' IE में उपलब्ध नहीं थे । ऐसा प्रतीत होता है कि वे आईई में चचेरे भाई हैं, जैसे कि कई अन्य गुणों के साथ। अंतर्दृष्टि के लिए धन्यवाद। –
+1 और 10k – qwertymk
तक पहुंचने पर अच्छी नौकरी 'getElementsByTagName' ऑब्जेक्ट को एक ऐरे नहीं देता है इसलिए उसे' Array.prototype.method.call' या [नकली सरणी बनाएं] का उपयोग करने की आवश्यकता होगी (http://stackoverflow.com/ प्रश्न/4513162/दस्तावेज़-getelementsbytagname-return-value) इसे सही ढंग से पुन: सक्रिय करने के लिए। – rxgx
- 1. एक्सेस एलिमेंट ट्री नोड पेरेंट नोड
- 2. पेरेंट
- 3. पेरेंट
- 4. पेरेंट
- 5. पेरेंट पोम
- 6. निजी पेरेंट क्लास C++
- 7. पेरेंट div आकार
- 8. । उपनिर्देशिका 'ओवरराइडिंग' पेरेंट एचटीएसीएसी
- 9. चेकबॉक्स चेक पेरेंट तत्व
- 10. वर्किंग कॉपी पेरेंट
- 11. पेरेंट प्रक्रिया का ptrace'ing
- 12. पेरेंट निर्देशिकाओं को
- 13. jQuery - अक्षम करने पेरेंट तत्व
- 14. iFrame में Response.Redirect(), पेरेंट विंडो
- 15. jQuery ड्रैगगेबल, जब पेरेंट div
- 16. नोड
- 17. नोड
- 18. नोड
- 19. नोड
- 20. नोड
- 21. नोड
- 22. jquery स्टॉप बच्चे ट्रिगरिंग पेरेंट इवेंट
- 23. पेरेंट डिवी विरासत बच्चे divs मार्जिन
- 24. पायथन सुपर और सेटिंग पेरेंट क्लास प्रॉपर्टी
- 25. जावास्क्रिप्ट पेरेंट तत्व हो और भाई बहन
- 26. हाइबरनेट: पेरेंट को स्वत: सहेजें बच्चे
- 27. RestKit इकाई मानचित्रण और पेरेंट इकाई मानचित्रण
- 28. विस्तारित jquery ui विजेट - पेरेंट इवेंट
- 29. एंबेडेड स्कैला आरपीएल को पेरेंट क्लासपाथ
- 30. Symfony2 फॉर्म - छुपा फ़ील्ड संदर्भ पेरेंट ऑब्जेक्ट
सहायता के लिए धन्यवाद। त्वरित सवाल हालांकि, तत्व के बजाय element.parentNode का उपयोग क्यों करें? – NinjaCode
डीओएम में प्रत्येक तत्व के पास 'पैरेंट नोड' है - रूट नोड को छोड़कर, जो 'दस्तावेज़' है। तो आप लंबे समय तक तत्व पर पुन: प्रयास करते हैं, क्योंकि तत्व में 'parentNode' है। 'जबकि' बॉडी में आप तत्व तत्वों के लिए मौजूदा तत्व 'parentNode' असाइन करते हैं, इसलिए यह तब तक चल सकता है जब तक कि वह' दस्तावेज़ 'तक नहीं पहुंच जाए, जिसमें कोई' parentNode' नहीं है। – singles