2010-10-25 91 views
2

我有一個列表,例如:不能得到jQuery的.load內容加載到DIV

<ul id="yearMenu"> 
    <li>Select a year</li> 
    <li><a href="AJAX/2010PR.html">2010</a> |</li> 
    <li><a href="AJAX/2009PR.html">2009</a> |</li> 
    <li><a href="AJAX/2008PR.html">2008</a> |</li> 
    <li><a href="AJAX/2007PR.html">2007</a> |</li> 
    <li><a href="AJAX/2006PR.html">2006</a> |</li> 
    <li><a href="AJAX/2005PR.html">2005</a></li> 
</ul> 

低於在另一個容器是這個div:

<div id="tableContent" class="tabWrapp"></div> 

及以下負載功能:

$("#ul#yearMenu li a").click(function() { 
    var $parent = $(this).parent(); 
    $parent.addClass("selected").siblings().removeClass("selected"); 
    var href = $(this).attr('href'); 
    $("#tableContent").load(href + " #tableContent ", function() { 
    //need to do something here? 
    }); 
}); 

但所有鏈接在另一個頁面中打開。我需要做什麼才能讓它加載到#tableContent div中?

回答

1

試試這個:

$("ul#yearMenu li a").click(function(event) { 
    var $parent = $(this).parent(); 
    $parent.addClass("selected").siblings().removeClass("selected"); 
    var href = $(this).attr('href'); 
    $.get(href, function(data) { 
    $('#tableContent').html(data); 
    }); 
    event.preventDefault(); 
}); 
+0

最初我用上面的方法,加入返回false();但是.load在IE中不起作用。我試着用你的.get,它工作完美。謝啦。 – 2010-10-25 18:22:21

+0

進一步測試後,我得到這個在所有的瀏覽器,除了Safari瀏覽器,它不會加載頁面加載任何腳本。我正在加載一個使用.jquery tablesorter和分頁插件的表格。當我點擊一個鏈接來加載不同的表格時,再也沒有JS功能,只有在Safari中。我已經在主頁面和AJAX頁面上放置了鏈接到JS的鏈接,以及這些功能。有任何想法嗎? – 2010-10-26 20:31:19

+0

嗯也許你可以把鏈接到你的網頁在這裏?看到代碼可能會有所幫助 – cambraca 2010-10-27 01:11:41

4

嘗試增加

return false; 

你 「點擊」 處理程序結束。如果沒有,將採取每個<a>標籤的默認操作。

它甚至會更好(更安全,有人會說)來調用.preventDefault()事件對象上:

$('#whatever').click(function(evt) { 
    // ... 
    evt.preventDefault(); 
}); 

這將允許該事件泡沫,但防止<a>默認操作。

+0

的偉大工程,謝謝。 – 2010-10-25 17:03:54

1

請勿使用href存儲鏈接。使用自定義屬性如'data-link =「http://link.com」'

<li><a data-link="AJAX/2010PR.html">2010</a> |</li> 

所以,當你點擊什麼都不會發生。

在JavaScript代碼中,你使用鏈接:

$(selector).attr("data-link"); 

然後化妝A作爲鏈接,請使用一些CSS。

這只是一種替代方法,但使用「preventDefault()」或「返回false」,也適用。

+0

這會起作用,但它可能會導致抓取工具/蜘蛛錯過鏈接,對於某些網站來說這會是一個問題。 – Pointy 2010-10-25 16:57:49

+0

@積分,正好! – 2010-10-25 17:16:01

相關問題