2010-10-29 47 views
1

我不知道爲什麼會發生這種情況。首先,代碼通過W3C驗證程序是有效的,因爲HTML5除了URL編碼問題(例如&應該是& amp;),但我無法控制這個,並且不應該引起這個錯誤。IE8從jQuery + AJAX請求中選擇返回NULL

其次,這適用於所有其他瀏覽器。第三,您將在下面的JS中看到的「data」元素返回所請求頁面的HTML罰款。

$('.calendarWrap .dayEvents li:not(.prevMonth) a').click(function(e){ 
      the_url = $(this).attr('href'); 
      $.get($(this).attr('href'),function(data){ 
       $('#calendar-bubble').remove(); 
       $('body').prepend('<div style="display:none;left:'+(e.pageX)+'px;top:'+e.pageY+'px;" id="calendar-bubble">'+$('#main-content',data).html()+'<p class="details"><a href="'+the_url+'">View event details &gt;</a></p></div>').find('#calendar-bubble').fadeIn(150); 
       $cb = $('#calendar-bubble'); 
       if($(window).width()-($cb.outerWidth()+$cb.offset().left) < 0){ 
        $cb.css({left:(e.pageX-$cb.outerWidth())+'px'}); 
       } 
       if($(window).height()-($cb.outerHeight()+$cb.offset().top-$(window).scrollTop()) < 0){ 
        $cb.css({top:(e.pageY-$cb.outerHeight())+'px'}); 
       } 
      }); 
      return false; 
     }); 

最後,這裏是被請求的頁面的HTML: http://pastebin.com/DZE79xiA

我的想法......

有誰知道任何其他方式來獲得這樣的數據並通過它解析,只抓住#主要內容?

回答

0

你粘貼的東西似乎是正確的。如果我理解你的問題的權利,你可以嘗試的

var content = $(data).find('#main-content') 

代替

$('#main-content',data) 
+0

有趣的,會嘗試,如果你得到正確的標記,你會知道它的工作哈哈。 – 2010-10-29 20:32:09

+0

廢話,我認爲它與HTML5元素有關!這是重新調整0的元素,當我找到('節')。長度它給了我1,雖然他們是超過1 ... – 2010-10-29 20:46:07

+0

嗯,那很糟糕^^ – pex 2010-10-29 21:11:44