我也写了代码页失败。
要求A页面有frame B 和C,从C操作B的节点内容,A代码
<HTML>
<HEAD>
<TITLE>jquery获取从子frame获取兄弟frame节点并赋值</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操作父级的子级frame页面代码:
js代码
alert(parent.tf.document.getElementById("mydiv1").innerHTML);
jquery代码
alert($(parent.tf.document).contents().find("#mydiv1").html("aaa"));
结果都是失败的,后来多次调试,同事搞定了,原来frameset在页面中是算一级document的
于是修改javascript和jquery frame操作同级frame页面内容,最后成功,代码如下
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script>
window.onload = (function(){
//用原始的javascript获取内容并弹出
alert(parent.parent.tf.document.getElementById("mydiv1").innerHTML);
//用jquery写入内容,并弹出显示该对象
alert($(parent.parent.tf.document).contents().find("#mydiv1").html("aaa"));
});
</script>
<body id='fa'>
</BODY>
</HTML>
这样就可以实现了frame兄弟节点操作。
更多信息请查看IT技术专栏