我正在建立一个网站,我需要的是当点击一个按钮时,它会更改iframe中的链接,以便它转到另一个网站。这是我到目前为止所得到的:
<script>
var id = 'http://www.aWebsite.com';
function link(){
id = 'http://www.aSecondWebsite.com'
}
</script>
<script>
document.writeln('<iframe name="heel"src="' + id + '" height="300" width="700"> </iframe>');
</script>
<button onclick="link()">Click Me</button>
我不确定为什么单击按钮时id变量没有改变?
答案 0 :(得分:2)
实际上id
的值已更改,但document.writeln()
不在link
函数中,因此未执行。
快速解决方法是将document.writeln()
移至link()
,但这将是一个灾难性的修复。 document.write(ln)()
清除文档中的所有内容,并在解析页面后使用时创建一个新内容。你需要做这样的事情:
function link() {
id = 'http://www.example.org';
document.getElementById('heel').src = id;
}
然后将您的iframe元素添加到HTML中,并使用document.writeln()
删除整个脚本。
<iframe id="heel" name="heel" src="http://www.example.com" height="300" width="700"></iframe>
修改强>
如果要创建新的iframe
元素,可以这样做:
function link() {
var frame = document.createElement('iframe'); // creates an iframe element
id = 'http://www.example.org';
frame.width = '700px'; // sets the width for the new iframe
frame.height = '300px'; // sets the height for the new iframe
frame.name = 'heel2'; // sets the name for the new iframe
frame.src = id; // sets the src for the new iframe
document.body.appendChild(frame); // appends the new iframe to body as a last element
}