我也寫了代碼頁(yè)失敗。
要求A頁(yè)面有frame B 和C,從C操作B的節(jié)點(diǎn)內(nèi)容,A代碼
<HTML>
<HEAD>
<TITLE>jquery獲取從子frame獲取兄弟frame節(jié)點(diǎn)并賦值</TITLE>
</HEAD>
<frameset rows="15%, 85%">
<frameset rows="100%, *">
<frame id="tf" name="tf" src="frame.html" noresize scrolling="no" frameborder="1">
</frameset>
<frameset>
<frame id="of" name="of" src="frame2.html" noresize scrolling="no" frameborder="1">
</frameset>
</frameset>
<body>
</BODY>
</HTML>
我的失敗frame操作父級(jí)的子級(jí)frame頁(yè)面代碼:
js代碼
alert(parent.tf.document.getElementById("mydiv1").innerHTML);
jquery代碼
alert($(parent.tf.document).contents().find("#mydiv1").html("aaa"));
結(jié)果都是失敗的,后來多次調(diào)試,同事搞定了,原來frameset在頁(yè)面中是算一級(jí)document的
于是修改javascript和jquery frame操作同級(jí)frame頁(yè)面內(nèi)容,最后成功,代碼如下
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script>
window.onload = (function(){
//用原始的javascript獲取內(nèi)容并彈出
alert(parent.parent.tf.document.getElementById("mydiv1").innerHTML);
//用jquery寫入內(nèi)容,并彈出顯示該對(duì)象
alert($(parent.parent.tf.document).contents().find("#mydiv1").html("aaa"));
});
</script>
<body id='fa'>
</BODY>
</HTML>
這樣就可以實(shí)現(xiàn)了frame兄弟節(jié)點(diǎn)操作。
更多信息請(qǐng)查看IT技術(shù)專欄