2012-06-12 36 views
4

HTML裏面很簡單,我的網頁上我有訪問元素是jQuery用戶界面對話框

<div id="notificationDialog" title="View Notification"></div> 

我動態地根據用戶瀏覽的頁面加載的通知,並顯示它們的iframe,在其內部是在一個jQuery UI對話框中。基本上,

function viewNotif(nid) { 
    var wWidth  = jQuery(window).width(); 
    var dWidth  = wWidth * 0.5; 
    var $notifIframe = jQuery('<iframe />', { 
     name: 'myFrame', 
     id: 'myFrame', 
     src: "/modals/modal_notification.php?nid="+nid, 
     width:"100%", 
     height:"100%", 
     align:"center", 
     scrolling:"auto", 
     frameborder:"0" 
    }); 

    jQuery('#notificationDialog').html($notifIframe.clone()); 

    jQuery('#notificationDialog').dialog({ 
     autoOpen: false, 
     height: auto, 
     width: dWidth, 
     modal: true 
    }); 

    jQuery('#notificationDialog').dialog('open'); 
} 

我試圖訪問一個div那是jQuery UI的對話框裏面的iframe中的高價值,迄今一直未能如願。我將如何獲得div的高度值,div的id是notification_container,它位於iframe內部,notificationDialog內部?

編輯 - 我應該提到的是,在onClick頁面中調用該函數,並將通知ID(nid)傳遞給該函數。

回答

3
$("iframe").contents().find("#selector"); 

需要注意的是,只有當iframe內容在本地訪問時,這纔是允許的。否則,你會得到一個訪問被拒絕的錯誤。

+3

這給了我這個錯誤Uncaught TypeError:Object# has no method'contents' – Mike

+1

iframe與頁面位於同一服務器上,但位於不同的文件夾中。這不是'本地'嗎? – Mike

+0

我知道這是一個古老的問題,但如果有人絆倒它,上面的行應該如下: '$(「iframe」)。contents()。find(「#selector」);' (即沒有[0]) –

相關問題