使用Javascript更改非常类型的标记

Jos*_*hua 7 html javascript

假设我想将所有<img>标签更改<iframe>为页面上的标签.javascript可以用于此目的吗?

有没有办法改变实际的标签类型,或者我必须首先删除<img>然后创建<iframe>,如果是这样,我如何确保新标签与旧标签具有相同的容器等?

执行此类替换的最简单,最友好的方式是什么?

use*_*716 4

虽然使用像这样的库更方便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 ] );
}
Run Code Online (Sandbox Code Playgroud)