我更改了使用.ajax方法而不是.load的实现,它在Firefox中可以正常工作,但在IE7或IE6中却不能:
$('ul#coverTabs > li > a').live('click', function(event) { // Find href of current tab var $tabValue = $(this).attr('href'); $.ajax({ type: "GET", cache: false, dataType: "html", url: $(this).attr('href'), success: function(data){ $(data).find('.benefitWrap').each(function(){ var $benefitWrap = $(this).html(); $('.benefitWrap').replaceWith($('<div class="benefitWrap">' + $benefitWrap + '</div>')); }); } }); event.preventDefault(); });
为了达到目标,这已经使我丧命。
任何想法,我要去哪里错了?
我不小心弄清楚了问题所在。
此变量中引用的链接:
var $tabValue = $(this).attr('href');
最后有一个哈希值,如下所示:
https://bupacouk.bwa.local.internal.bupa.co.uk/cash-plan-quote/quoteAction.do?getBenefitLevelDetails=getBenefitLevelDetails&productPolicyId=7850#a1
这会导致AJAX在IE的两个版本中掉落。
使用以下代码:
var $withoutHash = $tabValue.substr(0,$tabValue.indexOf('#'));
盖茨摆脱它,现在可以工作了:)