如何使用Javascript编辑没有ID的链接的文本

时间:2013-10-25 18:33:36

标签: javascript jquery html

我想使用javascript更改链接的文本。问题是这个特定的链接没有id。我无法更改html,因为这是一个SharePoint页面,并且此特定链接是由页面布局创建的,我无权访问。使用IE Developer Tools,我看到链接周围的HTML是:

<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>

我希望更改的链接是第二个,即工具提示的“State-Compliance”。 我查看了jQuery,发现我可以使用$('#DeltaPlaceHolderPageTitleInTitleArea').find("a").text("Test");来更改文本,但它会更改所有三个链接的文本。我怎样才能改变一个呢?我是否需要遍历这三个,或者是否有更简单的方法来获取我希望更改的链接? 很抱歉,如果这是一个愚蠢的问题,我是一名c#开发人员,这是我第一次使用javascript的经历。

如果您需要更多信息,请与我们联系。

沃伦

2 个答案:

答案 0 :(得分:1)

使用.eq()

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

<强> jsFiddle example

答案 1 :(得分:1)

使用attribute equals selector

如何做到这一点
$('#DeltaPlaceHolderPageTitleInTitleArea a[title="State-Compliance"]')