2013-01-22 16 views
41

का उपयोग कर iframe के भीतर तत्व लेने के लिए मैं एक iframe इसकैसे document.getElementById

<iframe name="myframe1" id="myframe1" width="100%" height="100%" src="a.html"> 
<html> 
    <head></head> 
    <frameset name="myframe2" cols="0%, 100%" border="0" frameBorder="0" frameSpacing="0"> 
     <frame name="page1" src="c.html" scrolling="no"></frame> 
     <frame name="page2" src="d.html" > 
      <html> 
       <head></head> 
       <body id="top"> 
        <div id="div1"> 
         <div id="div2"> 
          <div id="div3"> 
           <ul id="x"> 
            <li>a</li> 
            <li>b</li> 
           </ul> 
          </div> 
         </div> 
        </div> 
       </body> 
      </html> 

     </frame> 

    </frameset> 
</html> 
</iframe> 

मैं करने के लिए तत्व "x" का उल्लेख करना चाहता हूँ की तरह है। मैंने कई तरीकों से कोशिश की लेकिन मुझे समाधान नहीं मिला।

उत्तर

96
document.getElementById('myframe1').contentWindow.document.getElementById('x') 

Fiddle

contentWindow IE के पुराने संस्करणों सहित सभी ब्राउज़रों द्वारा समर्थित है।

ध्यान दें कि यदि iframe का src किसी अन्य डोमेन से है, तो आप Same Origin Policy के कारण अपनी सामग्री तक पहुंच नहीं पाएंगे।

+20

अंतिम वाक्य बहुत महत्वपूर्ण है;) –

+0

तुम मेरे मुद्दा धन्यवाद हल आप फ्रेम के स्रोत अपने पृष्ठ के समान डोमेन पर होना चाहिए। –

15

उपयोग contentDocument प्राप्त करने के लिए इस

var iframe = document.getElementById('iframeId'); 
var innerDoc = (iframe.contentDocument) ? iframe.contentDocument : iframe.contentWindow.document; 

var ulObj = innerDoc.getElementById("x");