2011-07-08 64 views
1

我有一個輕微的jQuery的問題。 我要的是一個外部HTML文檔的特定區域加載到一個div, 代替它加載整個文檔,而不是指定區域。jQuery的負載變量,而不是元素ID

這是觸發:

$('a').click(function(){ // my link to trigger the load 
    var pid = $(this).attr('href'); //the pid is the links href 
    getproject(pid); //trigger the load function, pass variable 
}); 

這是觸發功能:

function getproject(pid) { 
    $('#container').load('data.html', pid); 
} 

所以,當我點擊我的鏈接,它應該加載與ID(#)的元素由指定的鏈接到我的容器,但它加載了整個數據......我似乎無法找到解決方案。

的鏈接看起來是這樣的(不能使用在這裏詳細的標記): A HREF = 「#elementtoload」

的數據文件看起來是這樣的: DIV ID = 「elementtoload」 DIV ID =」 .. 「。

和多種元素,其含量,這應該由ID從HREF的鏈接被裝載的負荷。

回答

1

看着爲$負荷的文檔,你應該能夠做到這一點:

function getproject(pid) { 
    $('#container').load('data.html #' + pid); 
} 
+0

似乎'pid'已經包含'#'。 –

+0

.load('data.html#'+ pid); 作品,該死的它的作品!非常感謝! – Michael

+0

@Michael:這沒什麼意義......這意味着你必須在你的div的ID中複製'#'。 –

0

字符串連接:

.load('data.html ' + pid); 

關於你提到的更新:

<div id="#elementtoload"><div id="elementtoload">

+0

對不起,它完全一樣的對我來說,加載整個文檔 – Michael

+0

@Michael:具有此ID的元素是否存在於文檔中?它真的只有ID還是'pid'還包含其他文本? –

+0

它確實存在,是的。文檔中有多個id,我想通過鏈接加載一個特定的id。該pid包含href(#example),我通過警報回覆它,它很好地傳遞並應該工作。 – Michael

1

http://api.jquery.com/load/

次節,加載頁面片段。對於我們來說明這是如何相關的,你需要提供一個觸發鏈接的例子,最好是你正在加載的文檔。

+0

我知道,這正是我試圖完成,只是與一個更動態的變量 – Michael

+1

@Michael你能提供一個鏈接的例子,並加載數據?這應該有助於澄清這一點。 –

+0

好的OP更新了,對不起,我忘了 – Michael

0

不知道你的實際意圖是什麼,但在我看來,你將很難得到pid,但不會在你的加載例程中使用它。我猜的代碼應該看起來更像是這樣的:

function getproject(pid) { 
    $(pid).hide().load('data.html'); 
} 
+0

該pid是我的鏈接href屬性,爲什麼我要加載我的數據到那個? ;) – Michael

+0

誰知道。您將* pid *作爲第二個參數傳遞給需要回調的函數 - 並且您沒有在data.html中發佈什麼內容。你可能想在你的原始問題中澄清。 – Perception

+0

更新了我的帖子,我認爲這是發佈變量的唯一方法。 – Michael

0

我試圖相似,經過一些東西小時(......)邁克爾來到最後用一些作品:)這並獲得成功對我來說,#應該在URL字符串,像這樣:

$('#div1').load('data.html #' + x);