我有一些插件生成的HTML,我无法更改,并且需要在<a>
标记中添加ID,以便我可以更改href
链接。
<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
功能添加到正确的链接。
答案 0 :(得分:4)
$('a[href$="password_reset"]')
换句话说,找到带有正确网址的结束的锚标记。 Jquery允许一些模式匹配功能,因此可以尽可能少地编写硬编码。
这是一个SO,其中包含有关jquery
中模式匹配功能的详细信息答案 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");