我有一个setIframe函数来动态设置iframe网址,但是当读回带有getIframe网址的网址为空时为什么?
的index.html:
<iframe id="MyIframe" src="frame.html">
</iframe>
<script>
function setIframe(iframeId, url){
document.getElementById(iframeId).src = url;
}
function getIframe(iframeId){
return document.getElementById(iframeId).src;
}
var url = "frame.html" + location.search;
alert(url);
setIframe('myIframe',url);
alert(getIframe("myIframe"));
</script>
frame.html 警报(location.search);
答案 0 :(得分:2)
attr
不是一个vanilla JS函数(虽然它是jQuery中的一个函数。)
您需要使用香草等价物:getAttribute
和setAttribute
。
function setIframe(iframeId, url){
document.getElementById(iframeId).setAttribute('src', url);
}
function getIframe(iframeId){
return document.getElementById(iframeId).getAttribute('src');
}
答案 1 :(得分:2)
您在JavaScript中使用myIframe
,但您的iframe ID实际上是MyIframe
,因此我不确定您是如何设置的,但也许您对此感到困惑元素中定义的src。并使用.src
代替.attr()
function setIframe(iframeId, url){
document.getElementById(iframeId).src = url;
}
function getIframe(iframeId){
return document.getElementById(iframeId).src;
}
var url = "http://gizmodo.com/";
setIframe('MyIframe',url);
alert(getIframe("MyIframe"));
&#13;
<iframe id="MyIframe" src="http://gizmodo.com/">
</iframe>
&#13;