使用innerhtml更改img标签的图像

时间:2012-06-21 19:51:29

标签: javascript html

我想使用img标签的innerhtml更改图像,当我点击它时,我的代码在下面给出

tempData +='<td >';

        tempData +='<img src="'+frontImg+'" id='+ii+' onClick="flipImage(this.id);" />';//from where flipImage call
        tempData +='</td>';

它工作正常,但是当它从函数返回时它会改变图像但是我想在flipImage返回之前更改它

    function flipImage(m)
    {

        var jsonLen = jsonImages.images.length;
        var imgNumber = finalImageArray[m];
        for(jsn = 0;jsn <jsonLen ;jsn++)
        {
            if(jsonImages.images[jsn].imageKey== imgNumber)
            {
                realImage = jsonImages.images[jsn].imagePath;
                var element = document.getElementById(m);
//              var mg = '<img src="bool.jpg" />'; // change when this line execute what should i put here.?
                //element.innerHTML=mg; want like this.

                       //this is actual code but it change image after returning the function  so i don't want this.
                element.innerHTML=realImage;
            element.setAttribute('src',realImage);
            element.setAttribute('onclick', ''); 
                break;

            }
        }
    }

所以我想在flipImage返回之前更改图片。 这只是一个示例代码和

1 个答案:

答案 0 :(得分:1)

您不能将innerHTML用于<img />标记,因为它们内部没有HTML,它们是单例且没有内部内容。

只需使用imgElement.setAttribute('src', 'http://...');即可更改图片。