关于javascript:使用Jquery在iframe中更改div

Changing div in iframe using Jquery

我有一个"A页"。在本页中是显示"B页"的iframe

1
2
3
4
5
6
<iframe id="iframeD" src="https://trello.com" width="600" height="600">
  <p>
Your browser does not support iframes.
</p>
</iframe>
Hello?

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

"B页"包含一个ID为landingHeaderdiv。如何在"A页"上创建jquery调用,将此div替换为ID为cTitle的另一个div(其内容在"A页"上找到)?


假设你没有违反同一来源地政策,

1,给你的iframe一个id-?。2、从框中取出WindowHTMLDocument

1
2
var iWin = document.getElementById('frm').contentWindow,  
    iDoc = iWin.document;

3、CECK用于iframe中jquery的存在

1
2
3
4
5
6
7
8
9
if( ! iWin.$ ){
    var jq = iDoc.createElement('script');
    jq.type = 'text/javascript';
    jq.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js';
    jq.onload = ready;
    iDoc.head.appendChild(jq);
}else{
    ready(); // the stuff you want to do
}

4、用jquery做你想做的

1
2
3
4
function ready(){
    var div = iWin['$']('#frm_div')[0]; // example from fiddle
    div.textContent = 'bar';
}?

看这把小提琴。


1
 $("iframe").contents().find("#dTitle").attr('id','cTitle').html($('#cTitle').html());


只有当iframe域与父域相同时,才能更改。如果是这样,则可以使用ContentWindow属性从父窗口访问iframe来更改它。


我认为iframe可能是一个问题,除非两者共享相同的父DOM。然而,不管怎样,只是为了好玩,我启动了这个快速简单的jquery plguin为您提供帮助。

Plugin updated It makes more sense to return the replacment than the old element, thus changed

4

Simple USE

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

For Instance:

1
$("#dTitle").replaceWith($("#cTitle"));


试试这个:

1
 $("#iFrame").contents().find("#dTitle").attr('id','cTitle');

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

1
$("div#bTitle").html($("div#cTitle").html());


使用jquery更改元素的ID并检查此日志

1
$(this).attr("id","newId");