iframe

2011-01-05 23 views
9

के अंदर div को कैसे ढूंढें I iframe के अंदर div खोजने के लिए jquery का उपयोग करने का प्रयास कर रहा हूं। क्या मैं नीचे उपयोग कर रहा हूं उससे बेहतर तरीका है?iframe

$('#Iframe').contents().find('#MyDiv') 

है यही कारण है कि मैं iframe के div तक पहुँचने के लिए एक और तरीका है की कोशिश की:

$('#Iframe').contents().find('#MyDiv') 

function atmslidein(){ 
    $("#customer").ready(function(){   
     if($('#customer').attr('src')=='ATM.html') 
     { 
      $('#customer').contents().find('.atm_page').css('margin-left', '270px'); 
      $('#customer').contents().find('.tele').css('display', 'none'); 
     } 
    }) 
} 

मैं इस काम करने के लिए लगभग एक सप्ताह की कोशिश की है। ,

<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 

मेरी समस्या हल कर रहा है धन्यवाद:


वैसे भी मैं कुछ है कि आइफ्रेम दस्तावेज़ होना चाहिए और उसके बाद ही ऊपर समारोह ठीक से काम करता पाया। लेकिन क्या कोई यह समझा सकता है कि यह क्यों जरूरी है?

+3

क्या कि जिस तरह से साथ कुछ गड़बड़ है ? – lonesomeday

+0

'$ ('# IFrame #MyDiv') क्यों नहीं? –

+0

@Polybos यह एक अलग दस्तावेज़ है, इसलिए उस चयनकर्ता के साथ नहीं मिलेगा। – lonesomeday

उत्तर

13

मुझे नहीं लगता कि jQuery सामग्री तक पहुंच सकता है Window/दस्तावेज़ की सामग्री इस तरह से। अतीत में, मैं यह करने के लिया है:

$('#iframe').each(function() { 
    $('#MyDiv', this.contentWindow.document||this.contentDocument); 
}); 

** ध्यान दें कि this.contentWindow||this.contentDocument IE और अधिकांश अन्य ब्राउज़रों में सही ढंग से काम करने के लिए आवश्यक है। सामग्री सामग्री प्राप्त करने के बाद, आपको दस्तावेज़ का चयन करने की आवश्यकता है। फिर आप डीओएम में हेरफेर या ट्रैवर्स करने के लिए jQuery का उपयोग कर सकते हैं, लेकिन केवल अगर iframe का स्रोत एक ही डोमेन में है।

** त्रुटि को ठीक करने के लिए अपडेट किया गया जहां हम सामग्री प्राप्त करने के बाद दस्तावेज़ निर्दिष्ट नहीं करते हैंविंडो/दस्तावेज़।

+1

यह 'this.contentWindow.document' होना चाहिए, मुझे लगता है। – lonesomeday

+0

आप सही हैं, धन्यवाद। – HackedByChinese

+0

आपके समाधान के लिए धन्यवाद। लेकिन यह mycase – rajaishbt

4

यह तभी Iframe स्रोत, अपने पृष्ठ के जैसे डोमेन में है नहीं तो ब्राउज़र अभ्यस्त सुरक्षा कारणों से

-1

उपयोग चयनकर्ता संदर्भ के लिए इसे अनुमति देने के लिए काम करेंगे:

var frame = $('#frame_id'); 
var div = $('#mydiv', frame); 
+3

jQuery सीधे आईफ्रेम के सामग्री दस्तावेज़ को पार नहीं कर सकता है, इसलिए यह काम नहीं करेगा। – HackedByChinese

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