jquery ajax调用在IE 7或8中不起作用但在Firefox中有效

时间:2009-08-21 16:59:13

标签: jquery cross-browser

Internet Explorer似乎忽略了这个ajax函数调用(如下所示)但它在FF中工作正常吗?

请帮助别人......

<script type="text/javascript">
function ajax_request(PartNum,InText) {
   var str=PartNum;
     str=str.replace(".","_");
     strHTML = $('#image-placeholder'+str).html();
     if (strHTML == '<p></p>')
     {
        $('#image-placeholder'+str).html('<p><mg src="/images/catalog/items/'+PartNum+'.gif" /></p>');
            $('#text-placeholder'+str).html('<p>'+InText+'</p>');
     }
        else 
        {
        $('#image-placeholder'+str).html('<p></p>');
        $('#text-placeholder'+str).html('<p></p>');
      }
}

</script>

2 个答案:

答案 0 :(得分:2)

  

if(strHTML =='&lt; p&gt;&lt; / p&gt;')

IE可能会为您标记这些标记,使其成为'&lt; P&gt;&lt; / P&gt;',但不匹配。

虽然你可以通过'if(strHTML.toLowerCase()== ...'来解决当前的问题,依靠浏览器的innerHTML输出并不是一个好主意,因为你不能确定它的序列化赢了'做出意想不到的事情,如省略结束标记或添加多余的空格。

尝试查看是否有任何&lt; img&gt;占位符内的元素节点使用类似:

if ($('#image-placeholder'+str+' img').length==0) {
    ...
}

答案 1 :(得分:0)

您错过'<p><mg src="/images/catalog/items/'中的'i'应为'<p><img src="/images/catalog/items/'