假设我想将页面上的所有<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/

10-11 20:28