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>
答案 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/'