javascript - Js在锚点中用@sometext替换链接文本
问题描述
<li class="some-class one-more"><label>twitter:</label>
<a href="https://twitter.com/sometext?s=09" target="_blank" rel="noreferrer noopener">https://twitter.com/sometext?s=09</a>
</li>
为此,输出类似于“https://twitter.com/sometext?s=09”,但我想要像@sometext 这样的输出。我对此很陌生,如果我犯了任何错误,请不要介意。提前致谢。
更新:这些链接都是动态生成的(由不同的用户添加),所以我无法更改特定的文本。例如:对于某些帐户,链接是这个,但对于其他一些帐户,链接会有所不同。
解决方案
只需更改 a 标签内的文本。
<li class="some-class one-more"><label>twitter:</label>
<a href="https://twitter.com/sometext?s=09" target="_blank" rel="noreferrer noopener">@sometext</a>
</li>
如果要动态更改链接,请添加以下脚本:
<script>
document.querySelector('a[href="https://twitter.com/sometext?s=09"]').innerHTML = '@sometext';
</script>
此代码假定您的链接是唯一的,因此如果两个元素具有相同的 href 属性,则只会更改第一个元素。如果您不确定链接是否唯一或使用 id,请使用此选项。
<script>
document.querySelectorAll('a[href="https://twitter.com/sometext?s=09"]').foreach((item)=>{
item.innerHTML = '@sometext';
});
</script>
您可以将其放在 for 循环中以更改多个链接的文本。使用数组它应该可以解决问题:
<script>
var links = [
['a[href="https://twitter.com/sometext?s=09"]', '@sometext'],
['http://yourlink2', 'the text']
]
links.foreach((item)=>{
document.querySelector('a[href="'+item[0]+'"]').innerHTML = item[1];
})
</script>
希望这会有所帮助。
推荐阅读
- django-rest-framework - Django Rest 框架 JWT 身份验证
- php - 将 MacOS 更新到 Mojave (10.14) 后 PECL 扩展安装失败
- asp.net-web-api - *在web api上是什么意思
- sql-server - 检查 SQL SERVER 中是否存在日期和时间之间
- react-native - 如何从嵌套组件导航到其他组件反应原生?
- angular - 当Angular 5中的值为“否”时如何禁用按钮?
- python - 用于过滤重复项的二维“数组”或对象 python
- android - jump to custom view when phone rings
- jquery - DataTable 不是 Angular 中的函数
- twilio - Is it possible to do voice pitch shifting in Twilio group video?