IE8无法显示动态添加的图像

时间:2010-07-15 08:39:21

标签: jquery internet-explorer-8

我在FF中有这样的jQuery代码,但在IE8中完全失败:

$('#tekst img').each(function(){
                    var scrValue = $(this).attr('src').substring(0,4);
                    var imgTyp = $(this).attr('class').substring(1);
                    if(scrValue == 'tbid')
                    {

                      var splitedString = $(this).attr('src').split(':');
                      var imageID = splitedString[1];
                      $(this).append("<img src='ShowImage.ashx?ID=" + imageID + "' alt= '' />"); 

                    }      
              });

在'IF'部分,IE首先退出(srcValue == true),甚至无法显示第一个图像..

有没有人有任何想法?

2 个答案:

答案 0 :(得分:2)

似乎你在img元素中看到了新的图像元素...... 我不认为这是你想要做的......

如果要在刚刚选择的图像之后添加img,可以在jquery中使用after()函数。

或者如果您想将img添加到图像容器中,您可以执行以下操作:

$("#tekst").append("<img src='ShowImage.ashx?ID=" + imageID + "' alt= '' />");

$(this).parent().append("<img src='ShowImage.ashx?ID=" + imageID + "' alt= '' />");

而不是:

$(this).append("<img src='ShowImage.ashx?ID=" + imageID + "' alt= '' />");  

答案 1 :(得分:0)

首先尝试提醒图像元素代码以查看其是否正确,如果是,请尝试执行以下操作:

$("<img/>").attr('src','ShowImage.ashx?ID=' + imageID).attr('alt','').appendTo(this);

可能是你创建元素的方式。

fir实例在元素属性边界alt= ''中添加空格到alt=''