2013-04-30 65 views
-1

我想在下面的js中删除图像logo.png行,并用iframe代码替换。如何将iframe添加到getElementById?

currentRoomId = document.getElementById('roomID').value; 

if (document.getElementById('room_' + currentRoomId + '_bg')) { 
    document.getElementById('login_banner').src = document.getElementById('room_' + currentRoomId + '_bg').value; 
} 
else if (document.getElementById('login_banner').src != "http://somedomain.com/header/logo.png") { 
    document.getElementById('login_banner').src = "http://somedomain.com/header/logo.png"; 
} 

if (document.getElementById('room_' + currentRoomId + '_bg_link') && document.getElementById('room_' + currentRoomId + '_bg_link').value != 'FREE') { 
    document.getElementById('login_banner_link').href = document.getElementById('room_' + currentRoomId + '_bg_link').value; 
} 
else if (document.getElementById('login_banner_link')) { 

我想关掉这个,这是HTML中:

<img src="http://somedomain.com/logo.png" id="login_banner" /></a> 

这样:

<iframe class="animation" src="http://somedomain.com/header/index.html" id="login_banner"></iframe> 

所以后端可以识别它是否应该显示默认的旗帜或客户横幅。

我需要编辑js代码以反映最终的html输出。

谢谢。

+0

只要找到图像其id ='login_banner'并将其删除。用你的iframe代码替换它。然后,您可以简单地删除操作旧的login_banner图像的JavaScript代码。 – jahroy 2013-04-30 02:10:37

+0

请添加一些html代码,尤其是您要添加iframe的元素。谢谢。 – kais 2013-04-30 02:13:46

回答

2

如果我理解正确你的问题,在普通的JavaScript,你可以使用此代码删除图像,并在原处插入一帧:

// create frame element 
var frame = document.createElement("iframe"); 
frame.className = "animation"; 
frame.id = "login_banner"; 
frame.src = "http://somedomain.com/header/index.html"; 

// insert frame before img 
var img = document.getElementById('login_banner'); 
img.parentNode.insertBefore(frame, img); 

// remove img 
img.parentNode.removeChild(img); 

如果你正在尝试做不同的事情请澄清你的问题。


我不知道究竟要插入此代码,但如果你想在您发布的代码的最后else if,它会是这样的:

currentRoomId = document.getElementById('roomID').value; 

if (document.getElementById('room_' + currentRoomId + '_bg')) { 
    document.getElementById('login_banner').src = document.getElementById('room_' + currentRoomId + '_bg').value; 
} 
else if (document.getElementById('login_banner').src != "http://somedomain.com/header/logo.png") { 
    document.getElementById('login_banner').src = "http://somedomain.com/header/logo.png"; 
} 

if (document.getElementById('room_' + currentRoomId + '_bg_link') && document.getElementById('room_' + currentRoomId + '_bg_link').value != 'FREE') { 
    document.getElementById('login_banner_link').href = document.getElementById('room_' + currentRoomId + '_bg_link').value; 
} 
else if (document.getElementById('login_banner_link')) { 
    // create frame element 
    var frame = document.createElement("iframe"); 
    frame.className = "animation"; 
    frame.id = "login_banner"; 
    frame.src = "http://somedomain.com/header/index.html"; 

    // insert frame before img 
    var img = document.getElementById('login_banner'); 
    img.parentNode.insertBefore(frame, img); 

    // remove img 
    img.parentNode.removeChild(img); 
} 

如果你想要做的是要知道HTML是什么添加iframe来你的页面,那么这将是这样的:

<iframe class="animation" src="http://somedomain.com/header/index.html" id="login_banner" height="400" width="400"></iframe> 
+0

我编辑了我原来的帖子。我认为你输入的内容是正确的。我只是想确定。谢谢。 – 2013-04-30 03:19:28

+0

根据您添加的内容,我在几分钟前回答了一个问题,因此该框架也将具有login_banner ID。 – jfriend00 2013-04-30 03:20:18

+0

@Brandon - 您可以将此代码放在任何位置,以便在页面加载后用iframe替换图像。我无法告诉你iframe的外观将取决于内容。试试看看。您可能还需要设置iframe的高度和宽度。 – jfriend00 2013-04-30 03:48:29