<html>
<body>
<iframe id="src">
</body>
</html>
我希望iframe通过Javascript函数显示在div元素中,但我似乎无法弄清楚什么是无效的。有什么想法吗?
document.getElementById('site').src = http://www.w3schools.com/;
提前致谢!
答案 0 :(得分:5)
尝试
document.getElementById('src').src = 'http://www.w3schools.com/';
a)网址应以字符串(引用)
提供 b)您的iframe的ID为src
而不是site
答案 1 :(得分:0)
您的iframe没有ID site
,因此您的代码不会产生任何影响。
(另请注意,您未关闭iframe
代码。)
这是正确的代码(fiddle)。
<input type="button" onclick="changeIframeSrc('myFrame');" value="changeSrc">
<iframe src="http://www.example.com" id="myFrame"></iframe>
<script>
function changeIframeSrc(id) {
e = document.getElementById(id);
e.src = "http://www.wikipedia.com/";
}
</script>
答案 2 :(得分:0)
首先,几件小事:
id
上的iframe
似乎是src
而不是site
;和iframe
代码。假设您只是处理一个iframe
而且它有一个id
,那么无论如何:
var myIframe = document.getElementById('src');
// gives you just that one iframe element
如果您正在使用多个document.querySelectorAll
,则可能需要考虑iframe
。
var iframes = document.querySelectorAll('iframe');
查看实际操作:http://jsbin.com/equzey/2/edit
重要的注意事项:如果您只需要访问iframe
元素(例如,操纵其来源或通过style
属性应用CSS),那么上面应该没问题。但是,如果您需要使用iframe
的内容,则需要使用contentWindow
属性进入其网页上下文:
var iframes = document.querySelectorAll('iframe');
iframes[0].contentWindow;