2012-07-13 19 views
2

使用jQuery,我想從我的服務器加載一個頁面,修改鏈接(錨點),但保持其餘的HTML相同。這可能與jQuery?jQuery:我怎樣才能改變一些HTML,但保留其餘的?

例子:

我想這個代碼...

<div> 
    text 1<a href="link1.html">link 1</a><br/> 
    text 2<a href="link2.html">link 2</a><br/> 
    text 3<a href="link3.html">link 3</a><br/> 
</div> 

...成爲這個代碼...

<div> 
    text 1<a href="link4.html">link 1</a><br/> 
    text 2<a href="link5.html">link 2</a><br/> 
    text 3<a href="link6.html">link 3</a><br/> 
</div> 

我想整個代碼,包括的DIV 。

這可能與jQuery?請幫忙!提前致謝。 :)

編輯:我加載的每一頁都會有所不同。我想拉入完整的HTML,更改錨點HREF,然後返回結果。我無法使用模板,因爲每個頁面都會有所不同。

+1

這是可能的jQuery,遵循一些教程,你會很容易實現它。 – AsTeR 2012-07-13 19:09:46

+1

你可以告訴我們'獲取'html的jQuery嗎? – Fresheyeball 2012-07-13 19:13:25

回答

0

如果您使用jQuery,我會推薦使用某種類型的模板功能來完成此操作。

Here is an old version jQuery團隊正在考慮使用的模板引擎。 Here is some updated information關於爲什麼不推薦使用,以及創建新版本的當前進度。

還有其他的模板方法來完成這個。您也可以像其他人推薦的那樣通過DOM操作手動執行此操作。

0

您可以使用帶有jQuery的.attr()方法修改元素的屬性。第一個值是要修改的屬性,第二個值是新值。

$('a').attr('href','yourlinkhere.html'); 

...上述內容將修改指向「yourlinkhere.html」的所有鏈接。

$("a").each(function(index){ 
    $(this).attr('href','link'+index+'.html'); 
}); 

...或針對特定鏈接,像這樣:您可以通過這樣所有的鏈接迭代得到更具體的爲你要修改的內容

$("a[href=link1.html]").attr('href', 'yourlinkhere.html'); 

...的雖然這樣的方法存在問題,但您會替換指向該頁面的所有實例。有可能到頭來你要的ID添加到您的鏈接,並針對他們像這樣:

$("a#specificLinksId").attr('href', 'yourlinkhere.html'); 

......或者像這個類:

1

如果你想改變一個錨定標記的HREF值,只需使用attr[API Ref]方法:

$('a[href="link1.html"]').attr('href', 'link4.html'); 
$('a[href="link2.html"]').attr('href', 'link5.html'); 
$('a[href="link3.html"]').attr('href', 'link6.html'); 

此代碼可以在這是動態加載靜態HTML或HTML運行。沒什麼區別。