假设我想将页面上的所有<img>
标签更改为<iframe>
标签。可以将javascript用于此目的吗?
有什么方法可以更改实际的标签类型,还是我必须先删除<img>
然后创建<iframe>
,如果是的话,如何确保新标签与旧标签具有相同的容器,等等?
什么是执行这种替换的最直接,最浏览器友好的方法?
最佳答案
尽管使用像jQuery
这样的库更方便,但是您可以在没有这样的库的情况下做到这一点(替换元素,而不更改类型):
示例: http://jsfiddle.net/BvSvb/
var imgs = document.getElementsByTagName('img');
var i = imgs.length;
var parent;
var iframe = document.createElement( 'iframe' );
var currFrame;
while( i-- ) {
currFrame = iframe.cloneNode( false );
currFrame.setAttribute( 'src', imgs[ i ].getAttribute( 'src' ) );
parent = imgs[ i ].parentNode;
parent.insertBefore( currFrame, imgs[ i ] );
parent.removeChild( imgs[ i ] );
}
关于javascript - 使用JavaScript更改代码的非常类型,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4005255/