2

我有一个“页面 A”。在这个页面中是一个iframe显示“页面B”的页面。

<iframe id="iframeD" src="https://trello.com" width="600" height="600">
  <p>Your browser does not support iframes.</p>
</iframe>
<div id="cTitle">Hello</div>​

(有关工作示例,请参见以下小提琴:http: //jsfiddle.net/noscirre/yYkUN/

“页面 B”包含一个divid landingHeader。如何在“Page A”上创建一个 jQuery 调用,将其替换div为另一个div(其内容在“Page A”上找到)id cTitle

4

7 回答 7

4
 $("iframe").contents().find("#dTitle").attr('id','cTitle').html($('#cTitle').html());
于 2012-09-18T20:05:55.540 回答
3
于 2012-09-18T21:06:18.910 回答
1

仅当 iframe 域与父域相同时,您才能进行更改。如果是这样,那么您可以通过使用 contentWindow 属性从父窗口访问 iframe 来更改它。

于 2012-09-18T19:55:39.390 回答
0

尝试这个:

 $("#iFrame").contents().find("#dTitle").attr('id','cTitle');
于 2012-09-18T19:58:59.043 回答
0

我认为 iFrame 可能是一个问题,除非它们共享相同的父 DOM。然而,无论如何,只是为了好玩,我为你启动了这个快速简单的 jQuery 插件,它可以提供帮助。

插件更新 返回替换比旧元素更有意义,因此更改

$(function() {
    if (!$.replaceWith) {
        $.extend({
            replaceWith: function(ele, newEle) {
                ele.each(function(i) { $(this).before(newEle).remove(); });
                return newEle;
            }
        });
        $.fn.extend({
            replaceWith: function(newEle) { return $.replaceWith($(this), newEle); }
        });
    }
});

简单使用

$("#someElementID").replaceWith($("#anotherElementID"));
// or
$.replaceWith($("#someElementID"), $("#anotherElementID"));

例如:

$("#dTitle").replaceWith($("#cTitle"));
于 2012-09-18T20:23:29.173 回答
0

去看看这篇文章用jQuery改变元素的ID

$(this).attr("id","newId");
于 2012-09-18T19:54:26.923 回答
0

如果您只想更改内容,请执行以下操作:

$("div#bTitle").html($("div#cTitle").html());
于 2012-09-18T19:54:50.327 回答