这应该根据我查找的所有内容工作,但事实并非如此。
我有一个带文档的HTML。它有一个div,它包含我想要访问的特定元素。
<li><a href="FAQ.html#" target="page" id="Faq">FAQ</a></li>
html文档还包含带有FAQ.html的iframe,其中包含以下加载代码:
<script>
function loaded() {
parent.document.getElementById("Faq").style.color = "green";}
</script>
然而,没有任何反应。我究竟做错了什么? 错误控制台报告没有任何可以促进我的analasys的内容。
编辑: 这是一个基本概念。
https://dl.dropbox.com/u/32831239/Screenshots/htmlstructure.png
(不幸的是,stackoverflow不允许我发布截至目前的图片)
左侧div应该用作导航栏。在页面加载时,li条目应标有颜色(例如绿色)。
答案 0 :(得分:0)
<iframe src="test1.html"
style="float: right;
width: 260px; height: 130px;
margin-left: 12px; border: 1px solid black;"
name="#boogiejack">
Alternative Content
</iframe>
Test1.html内容
<li><a href="#" target="_new" id="Faq" onClick="javascript:loaded()">FAQ</a></li>
<script type="text/javascript">
function loaded() {
document.getElementById("Faq").style.color = "green";}
</script>
答案 1 :(得分:0)
使用onload event
正文的FAQ.html
来调用loaded function
<html>
<head>
<script>
function loaded() {
alert("Hello !"); //alert to check if this is being invoked.
parent.document.getElementById("Faq").style.color = "green";
}
</script>
</head>
<body onload="loaded();" >
...
</body>
</html>
或者只删除功能(no need to use body onload event)
<script>
parent.document.getElementById("Faq").style.color = "green";
</script>
答案 2 :(得分:0)
您可以在父级
中使用以下内容var iframe = document.createElement("iframe");
iframe.src = urlToYourIframe;
// if this is IE then use attachEvent
if (iframe.attachEvent){
iframe.attachEvent("onload", function(){
parent.document.getElementById("Faq").style.color = "green";
});
} else {
iframe.onload = function(){
parent.document.getElementById("Faq").style.color = "green";
};
}
var el = document.getElementById("iFrameContainer");
el.appendChild(iframe);