我做了一个对话框,iframe
var $frm = $('<iframe />').attr('id','ifrmTV'),
$dialog = $('<div />').dialog({ autoOpen: false, width: 'auto', hight: 'auto' });
然后经过一些数据处理后,我设置$ frm source并显示如下对话框:
$frm.attr('src', 'Http/WMP.htm').appendTo($dialog);
$dialog.dialog({title: 'title'}).dialog('open');
我想知道WMP.htm代码中是否有一种方法可以更改对话框的标题。 jquery_UI使用类ui-dialog-title生成一个span,但不能从WMP.htm访问它。任何帮助将不胜感激。
答案 0 :(得分:1)
您在iframe中加载的页面Http/WMP.htm
也应该加载jQuery。这不是必需的,但在查找ui-dialog-title
元素时会保持一致。
注意:read this关于小写和大写网址。
现在,在iframe中,您可以使用window.parent
访问父容器,并使用jQuery访问$('selector', window.parent.document)
的任何元素。现在,您在iframe中加载的页面应该知道它拥有的对话框元素ID,因此它可以找回它。虽然您可以通过各种方式完成此操作,但我只假设您有一个用于此iframe加载Http/WMP.htm
的对话框。所以,你应该能够做类似
var $frm = $('<iframe />').attr('id','ifrmTV'),
$dialog = $('<div />').attr('id', 'dlgTV')
.dialog({ autoOpen: false, width: 'auto', hight: 'auto' });
//...
$frm.attr('src', 'Http/WMP.htm').appendTo($dialog.dialog({title: 'Loading...'}));
$dialog.dialog('open');
在页面内WMP.htm
:
$('#dlgTV', parent.document).prev().find('.ui-dialog-title').html('Some title');
答案 1 :(得分:-2)
можноиспользоватьd3 яполучилжелаемыйрезультаттак:
你可以使用d3我得到了如下所需的结果:
d3.select(parent.document).select('span.ui-dialog-title').text('нужный текст');