使用JavaScript更改链接内的单词

时间:2019-03-06 17:39:40

标签: javascript

我有以下链接:

<a class="some_class" 
href="https://example.com/text/sometext2/">

我需要使用JavaScript将单词“ text”更改为“ sometext1”

谢谢!

5 个答案:

答案 0 :(得分:1)

使用document.querySelectorAll()获取对链接的引用,然后使用forEach()遍历链接,并使用elem.getAttribute('href')elem.setAttribute('href', value)获取并设置{{1} }属性。

要更改值,请在正则表达式中使用String.replace()

href
document.querySelectorAll('a.some_class').forEach(link => {
  const href = link.getAttribute('href').replace(/\/text\//, '/sometext1/');
  link.setAttribute('href', href);
  console.log(href);
});

或更简单地说:

<a class="some_class" href="https://example.com/text/sometext2/">A link</a>
<a class="some_class" href="https://example.com/text/sometext2/">A link</a>
<a class="some_class" href="https://example.com/text/sometext2/">A link</a>
<a class="some_class" href="https://example.com/text/sometext2/">A link</a>

答案 1 :(得分:0)

您可以通过相信document.getElementById("your-button").href="your-page.html";来使用JavaScript来做到这一点。

答案 2 :(得分:0)

如果要更改所有具有some_class类的链接,可以执行以下操作:

document.querySelectorAll("a.some_class").forEach(a => a.href.replace(/\btext\b/g, "sometext1"));

/\btext\b/g正则表达式将匹配字符串中的每个“文本”单词:

  • \b声明了单词边界,因此,如果单词中包含文本,则将不匹配

  • g开关使正则表达式成为全局,因此它不会在第一次匹配时停止

答案 3 :(得分:0)

您将访问该元素的href属性。然后转换文本,但是您需要这样做。在这种情况下,我们通过其他定界符来标识文本。

var element = document.querySelector('a.some_class');
var href = element.getAttribute('href')
href = href.replace(/\/text\//, '/sometext1/');
element.setAttribute('href', href');

答案 4 :(得分:0)

您首先可以获取元素,然后使用元素的setAttribute方法替换旧值

var a = document.getElementsByTagName("a")[0];
a.setAttribute("href",a.getAttribute('href').replace("text","SomeText1"));
<a class="some_class" 
href="https://example.com/text/sometext2/">
test
</a>