javascript - 添加 href URL 字符串

标签 javascript href

我需要使用 JavaScript 更改页面上的所有超链接。目前标签以这种方式布局

<a href="/Level1/Level2/Level3/bla bla bla.aspx"

我真正苦苦挣扎的改变(作为这个领域的绝对新手)是我如何进行以下改变并添加到另一个级别?它的子站点具有相同的结构;

<a href="/Level1/Level2/Level3/+Level4/bla bla bla.aspx" 

添加“4 级”之前和之后的 URL 部分将保持不变。我需要将此更改应用到页面上所有不存在 4 级部分的超链接。

对于这个令人震惊的请求,我们深表歉意。第一次发帖。

最佳答案

获取所有 href - 如果 href 没有所需的级别 4,则使用简单的 .replace() 添加级别和添加的级别 - 然后作为 href 属性应用。

请注意,链接 1 和 3 没有级别 4,因此会受到 if 条件的影响,而链接 2 已经具有级别 4,因此不会受到影响。

let links = document.querySelectorAll('a');

links.forEach(function(link) {
 let originalHref = link.getAttribute('href');
 if(originalHref.indexOf('+Level4') == -1) {
   link.setAttribute('href', originalHref.replace('Level3/','Level3/+Level4/'));
 }
})
a {
 display: block;
 margin-bottom: 8px;
}
<a href="/Level1/Level2/Level3/option1.aspx">Option 1</a>
<a href="/Level1/Level2/Level3/+Level4/option2.aspx">Option 2</a>
<a href="/Level1/Level2/Level3/option3.aspx">Option 3</a>

关于javascript - 添加 href URL 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55683371/

相关文章:

javascript - 如何在jquery中自动打印时删除不需要的内容,例如url

javascript - 如何在新窗口中打开链接?

javascript - 为什么单击“确定”后网络表单会重置

jquery - 向下滑动一个带有 anchor 的 div,然后点击链接

php - PHP echo 内的 anchor 标记内的图像标记

javascript - 使用 ID 从 anchor 获取 href 显示未定义

javascript - 在使用之前检测 window.close() 是否有效(JavaScript)

javascript - 按下按钮时连续播放声音JavaScript

javascript - 在 res.redirect 上传递变量

javascript - 在 Android 设备的移动浏览器上自动打开组合框