2013-10-25 82 views
0

我想要使用javascript更改鏈接的文本。問題是這個特定的鏈接沒有ID。我無法更改html,因爲這是一個SharePoint頁面,而此特定鏈接是由頁面佈局創建的,我無法訪問該頁面。使用IE瀏覽器開發者工具,我看到周圍的鏈接的HTML是這樣的:如何使用Javascript編輯沒有ID的鏈接的文本

<span id="DeltaPlaceHolderPageTitleInTitleArea">     
<span> 
    <a href="#ctl00_PlaceHolderPageTitleInTitleArea_ctl00_SkipLink"> 
     <img width="0" height="0" style="border-width: 0px;" alt="Skip Navigation Links" src="" /></a> 
    <span> 
     <a title="State-Compliance" href="/sites/tax/Compliance/SitePages/State-Compliance.aspx">State-Compliance</a> 
    </span> 
    <a id="ctl00_PlaceHolderPageTitleInTitleArea_ctl00_SkipLink"></a> 
</span> 

我希望改變的環節是第二個,一個以「國合規」的提示。 我看了看jQuery,發現我可以用$('#DeltaPlaceHolderPageTitleInTitleArea').find("a").text("Test");來改變文本,但它改變了所有三個鏈接的文本。我怎樣才能改變那個?我是否需要對三者進行迭代,還是有更簡單的方法來獲取我想更改的鏈接?
對不起,如果這是一個愚蠢的問題,我是一個C#開發人員,這是我第一次使用JavaScript的經驗。

讓我知道你是否需要更多信息。

沃倫

+0

使用的foreach,並尋找一個墊選擇標題屬性,然後設置文字。 –

回答

1

使用.eq()

$('#DeltaPlaceHolderPageTitleInTitleArea').find("a").eq(1).text("Test"); 

jsFiddle example

+0

'.eq()'是否使用從零開始的編號?如果我想在所有頁面上更改標題,而不僅僅是我目前正在編寫的標題,我認爲這會比傑森的長期回答更好。 – wjervis

+0

是的,.eq()是基於zer0的。 – j08691

+0

太棒了,謝謝。我會把這個標記爲答案,因爲我會使用它。 – wjervis

1

這個怎麼樣,使用attribute equals selector:jQuery中

$('#DeltaPlaceHolderPageTitleInTitleArea a[title="State-Compliance"]') 
+0

太棒了!這工作完美,謝謝。看來我不能接受這個作爲另一個5分鐘的答案,但我會盡快做到。 – wjervis

相關問題