我有以下链接:
<a class="some_class"
href="https://example.com/text/sometext2/">
我需要使用JavaScript将单词“ text”更改为“ sometext1”
谢谢!
答案 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>