आप इस तरह यह कर सकते हैं:
var list = document.getElementById("foo").getElementsByClassName("bar");
if (list && list.length > 0) {
list[0].innerHTML = "Goodbye world!";
}
या, यदि आप के साथ यह करने के लिए कम त्रुटि जाँच और अधिक संक्षिप्तता के साथ चाहते हैं, तो वह ऐसा एक पंक्ति में किया जा सकता है:
document.getElementById("foo").getElementsByClassName("bar")[0].innerHTML = "Goodbye world!";
स्पष्टीकरण में:
- आप
id="foo"
साथ तत्व मिलता है।
- फिर आप उस ऑब्जेक्ट में मौजूद ऑब्जेक्ट्स पाते हैं जिसमें
class="bar"
है।
- एक सरणी की तरह nodeList रिटर्न यही कारण है, आपको लगता है कि nodeList
- में पहला आइटम संदर्भ तो तब आप उस आइटम के
innerHTML
सेट इसकी सामग्री को बदलने के लिए कर सकते हैं।
चेतावनी: कुछ पुराने ब्राउज़र getElementsByClassName
(जैसे IE के पुराने संस्करण) का समर्थन नहीं करते हैं। गायब होने पर उस समारोह को जगह में बदल दिया जा सकता है।
यह वह जगह है जहां मैं एक पुस्तकालय है कि बजाय ब्राउज़र संगतता के बारे में चिंता करना अपने आप से निर्मित CSS3 चयनकर्ता समर्थन का उपयोग करना चाहिये (किसी और सब काम करते हैं)। यदि आप ऐसा करने के लिए सिर्फ एक लाइब्रेरी चाहते हैं, तो Sizzle बहुत अच्छा काम करेगा। कड़ाके की धूप में, यह इस तरह से किया जाएगा जा:
Sizzle("#foo .bar")[0].innerHTML = "Goodbye world!";
jQuery कड़ाके की धूप पुस्तकालय में निर्मित है और jQuery में, इस होगा:
$("#foo .bar").html("Goodbye world!");
इस मामले में आईडी द्वारा माता-पिता को प्राप्त करना आवश्यक नहीं है। 'document.getElementsByClassName' ठीक काम करेगा। – rvighne
@rvighne ओपी की सटीक आवश्यकताओं यह था कि वह "अधिक विशिष्ट प्राप्त करना चाहते हैं"। सवाल पूछने वाला व्यक्ति पूछ रहा था कि वह अपने डोम पेड़ के ट्रैवर्सल में और अधिक विशिष्ट कैसे हो सकता है। GetElementByClassName का उपयोग भ्रम का मुद्दा नहीं था, लेकिन मैं देख सकता हूं कि कोई आसानी से कैसे सोच सकता है कि मैं आवश्यकतानुसार दोनों को इंगित कर रहा था। वो नहीं हैं। यदि आप एक निश्चित कक्षा के केवल तत्वों को लक्षित करना चाहते हैं जो किसी दिए गए आईडी के किसी विशेष नोड के तहत एक अलग नोड के तहत उसी वर्ग के तत्वों के विपरीत हैं, तो आप यही उपयोग करेंगे। –
@ जोसेफमरिकल मैं देखता हूं। मुझे विश्वास है कि मैंने सवाल बहुत जल्दी पढ़ा है। – rvighne