使用jQuery

时间:2015-12-31 20:09:36

标签: javascript jquery html

我有一些插件生成的HTML,我无法更改,并且需要在<a>标记中添加ID,以便我可以更改href链接。

HTML

<div id="wpmem_login">
   <form action="www.staging.com/login" method="POST" class="form">
      <fieldset>
         <!--other html fields-->
         <div align="right" class="link-text">
            <a href="www.staging.com/password_reset"> click to reset password</a>
         </div>
         <div align="right" class="link-text">
            <a href="www.staging.com/register"> click to register</a>
      </fieldset>
   </form>
</div>  

(这段代码是生成的表单,所以我必须从查看inspect元素进行输入,所以我评论的这两个上面有更多的html字段,而且任何拼写错误都可能真的没有相关性)

我需要更改第二个到最后一个字段的href链接,密码重置,而不需要触及具有相同类的最后一个链接。我知道一旦我在该div上有id或者$("#reset").attr("href", "http://www.staging.com/pwd_reset"),我可以使用#reset执行此操作,但我不确定如何获取该选择器。

我需要帮助添加ID或将.attr功能添加到正确的链接。

4 个答案:

答案 0 :(得分:4)

$('a[href$="password_reset"]')

换句话说,找到带有正确网址的结束的锚标记。 Jquery允许一些模式匹配功能,因此可以尽可能少地编写硬编码。

这是一个SO,其中包含有关jquery

中模式匹配功能的详细信息

Select <a> which href ends with some string

答案 1 :(得分:1)

您可以使用href属性选择锚点:

   $('a[href="www.staging.com/password_reset"]').attr("href", "http://www.staging.com/pwd_reset")

更改href后,要重新选择相同的元素,需要将jQuery选择器更改为:

$('a[href="http://www.staging.com/pwd_reset"]')

答案 2 :(得分:0)

只需使用此帖https://stackoverflow.com/a/303961/3866019中的解决方案 选择正确的链接。对你而言,这就像是:

$('a[href*="password_reset"]')

其中*=表示&#39;包含&#39;  然后使用.attr('id', 'reset')设置它的ID。

jQuery文档: http://api.jquery.com/attribute-contains-selector/

答案 3 :(得分:0)

您可以使用jQuery的$ endsWith Selector获取您的链接,然后更改href

$('a[href$="password_reset"]').attr("href", "http://www.staging.com/pwd_reset");