用jQuery、正则表达式替换href
Replace href with jQuery, regular expression
我有一堆需要替换的href链接:
<a id="link" href="http://localhost:8091/tabid/99/catid/8/page1.aspx">Page1</a>
<a id="link" href="http://localhost:8091/tabid/98/catid/8/page1.aspx">Page1</a>
<a id="link" href="http://localhost:8091/tabid/97/catid/8/page1.aspx">Page1</a>
href应该改为:"http://localhost: 8091/衰弱的/ 1 /page1 . aspx catid/8/发布地址就"
通过搜索我发现:
$(document).ready(function () {
$("#link").each(function () {
this.href = this.href.replace("99", "1");
});
});
这个应该可以了。但是,它只替换其中一个链接。有人能帮我解释一下正则表达式吗?我需要将tabid/**/catid
中的所有数字更改为"1"。
您的问题是使用id
访问多个元素:根据规范,id
在文档中必须是唯一的。使用id
会导致JavaScript返回它找到的第一个元素,而不是继续搜索整个文档(因为必须只有一个)。
若要为多个元素使用相同的名称,请使用class
:
<a class="link" href="http://localhost:8091/tabid/**99**/catid/8/page1.aspx">Page1</a>
<a class="link" href="http://localhost:8091/tabid/**98**/catid/8/page1.aspx">Page1</a>
<a class="link" href="http://localhost:8091/tabid/**97**/catid/8/page1.aspx">Page1</a>
与修改jQuery:
$(document).ready(function () {
$(".link").each(function () {
this.href = this.href.replace("99", "1");
});
});
id属性指定HTML元素的唯一id。在您的情况下,它们不是唯一的。尝试使用css选择器或瞄准所有"a"元素。
首先,将id改为class。其次,做如下修改:
this.href = this.href.replace(/tabid'/'d+/i, '/tabid/1');
现在它只替换tabid后面的数字,而不是字符串中任何地方的任何数字。
id在文档中是唯一的,您应该使用class来代替。
相关文章:
- D3 Javascript HREF链接替换
- 将href中的图像替换为其他元素中的图像
- 如何用JavaScript正则表达式替换href中的所有内容
- 如何使用 jQuery 替换文本中的 HREF 链接
- 如何在 jQuery 中将 HTML 标记的 HREF URL 替换为不完整的属性
- 使用 jquery 替换 href 的一部分
- 替换 href 元素菜单中的 SID 值数据
- Javascript:模式HREF需要替换
- 从锚标记中获取元素 ID 并替换 href
- Javascript 在最后一个斜杠 / 之后替换 href 的某些字符
- 动态替换 href
- 替换 href 属性中文本的值
- 如何在转换中用图像替换href链接
- 用jQuery替换href元素
- 替换href链接扩展(如果是本地扩展)
- 用jquery替换href点击行为
- 使用javascript或JQuery提取和替换href标签
- 用jQuery、正则表达式替换href
- 替换href属性onclick
- 用//替换href http://的脚本