在jQuery UI对话框中的iframe中的Access元素

时间:2012-06-12 17:33:02

标签: jquery jquery-ui jquery-ui-dialog

HTML很简单,在我的页面上我有

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

我根据查看页面的用户动态加载通知,并将其显示在iframe中,该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');
}

我正在尝试访问jQuery ui对话框中iframe内的div的高度值,并且到目前为止还无法这样做。我如何获得div的高度值,div的id是notification_container,它位于iframe里面,在notificationDialog里面?

编辑 - 我应该提一下,该函数在页面上的onClick中调用,并将通知ID(nid)传递给显示的函数。

1 个答案:

答案 0 :(得分:3)

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

应该注意,只有在本地访问iframe内容时才允许这样做。否则,您将收到拒绝访问错误。