2009-11-27 18 views
15

हां, तो मैं 2 फ्रेम है और दूसरे में एक फ्रेम से तत्व को उपयोग करना चाहते:अन्य फ्रेम में जावास्क्रिप्ट document.getElementById

फ्रेम 1:

<div id='someId'>...</div> 

फ्रेम 2:

var div=document.getElementById('someId'); 

div.innerHTML='something'; 

यह किसी भी तरह फ़ायरफ़ॉक्स में काम नहीं कर रहा है, इसलिए मैं यह सुनिश्चित करना चाहता हूं, क्या मैं अपने आईडी द्वारा किसी अन्य फ्रेम में तत्व तक पहुंच सकता हूं?

उत्तर

20

आप

window.frames["framename"] 

का उपयोग करके अन्य फ्रेम उल्लेख कर सकते हैं और फिर आप

window.frames["framename"].document.getElementById ("yourelementid"); 
+0

हां, तो वहाँ कोई विकल्प नहीं है कि ब्राउज़र कोई फर्क नहीं पड़ता कि रहते हैं जो फ्रेम में वांछित आईडी के साथ पहली उपलब्ध तत्व मिलेगा है? –

+3

@as: 'getElementByid' को 'दस्तावेज़' ऑब्जेक्ट में देखने के लिए प्रतिबंधित है जिसमें से यह एक विधि है। ध्यान रखें कि एक फ्रेम वास्तव में एक अलग 'विंडो' ऑब्जेक्ट है, और 'विंडो'-> 'दस्तावेज़' पदानुक्रम की एक परीक्षा को स्पष्ट करना चाहिए कि क्यों एक 'दस्तावेज़' पर कोई विधि 'दस्तावेज़' की जांच नहीं कर सकती है अलग 'विंडो'। – NickFitz

+5

यह क्रोम, 'window.frames [' framename '] में wirking नहीं है। दस्तावेज़' के अंदर कुछ भी नहीं है। मेरा मतलब है 'windows.franes [' framename ']। Ducumnet.getElementById (...) ...' परिणाम 'Uncaught TypeError: अपरिभाषित' त्रुटि की विधि 'getElementByName' को कॉल नहीं कर सकता। –

12

का उपयोग कर इस मुद्दे को वर्तमान फ्रेम आप में हैं हो सकता है DOM में खोजा तत्व उल्लेख कर सकते हैं। अगर window.frames['framename'] काम नहीं करता है, शीर्ष स्तर फ्रेम तक पहुंचने के लिए parent.frames['framename'] आज़माएं।

if(parent.frames && parent.frames['framename']) { 
    var elem = parent.frames['framename'].document.getElementById(...); 
    // etc 
} 
+0

मेरे लिए काम किया! धन्यवाद! – thsieh

1

मैं जे एस संस्करण के साथ समस्या हो रही थी, लेकिन एक काम कर jQuery संस्करण के लिए इन उदाहरणों का उपयोग करने में सक्षम था:

var obj = $('#yourelementid', parent.frames["framename"].document); 
0

या, यदि आप अपनी किस्मत की कोशिश की तरह लग रहा है, तुम सिर्फ एक का उपयोग कर सकते संख्यात्मक पैरामीटर।

window.frames[0].document

संबंधित मुद्दे