Link to home
Start Free TrialLog in
Avatar of azlan28
azlan28

asked on

innerHTML.replace image in IE

Hi,
Any alternative for this in IE. In Firefox is working just fine. It works also in IE if i choose not to show image for "+" and "-" state
Thanks
div.innerHTML = div.innerHTML.replace('<img src="images/minus.gif" align="absmiddle">','<img src="images/plus.gif">')

Open in new window

Avatar of Felipe Souza
Felipe Souza
Flag of Brazil image

try this:
On HTML:
<img src="images/minus.gif" align="absmiddle" id="imgx">

On javascript:
document.getElementById("imgx").src = "images/plus.gif";

Avatar of azlan28
azlan28

ASKER

Nope is not working or i'm doing something wrong. Here is all the code.
<div id="div1" onclick="showDiv('div1','id1');"><img src="images/plus.gif"> Show Div</div>

function showDiv(IdDiv,IdLink)
{
  if (document.getElementById)
      {      
var layer =  document.getElementById(IdDiv) ;
var div =  document.getElementById(IdLink) ;
  if(layer) {
  if (layer.style.display == 'block') {  
layer.style.display = 'none';
div.innerHTML = div.innerHTML.replace('<img src="images/minus.gif" align="absmiddle">','<img src="images/plus.gif">')
div.innerHTML = div.innerHTML.replace('Hide','View')
div.style.color = '#5E4BE7';
} else {
layer.style.display = 'block';
div.style.color = '#FF0000';
div.innerHTML = div.innerHTML.replace('<img src="images/plus.gif">','<img src="images/minus.gif" align="absmiddle">')
div.innerHTML = div.innerHTML.replace('View','Hide') }
             }
      }
}

Open in new window

eg :
   <div id ="MyDiv" >
        <img src  = "..\Images\plus.gif" />
        </div>

Use Javascript as
document.getElementById("MyDiv").childNodes[0].src = "[Path Name]"
Avatar of azlan28

ASKER

C'mon i bet is a simple solution. I told you in Firefox is working so i think i just have to replace this function innerHTML.replace with something compatible for IE
Avatar of azlan28

ASKER

@princeatapi can you elaborate that example and apply it to my code above.
Thanks
try this:

div.innerHTML.toString().replace('View','Hide')

instead of

div.innerHTML.replace('View','Hide')
ASKER CERTIFIED SOLUTION
Avatar of princeatapi
princeatapi
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of azlan28

ASKER

Great! Thanks man that worked like a charm