jquery - 从 href 锚点中删除最后一个正斜杠
问题描述
我有以下锚点情况:
<a href="https://example.com/my-account/#example/" class="anchor">...</a>
由于#
链接的斜线,上面的锚给了我一个 jQuery 冲突。因为这是 PHP 生成的,所以我正在寻找一个jQuery Javascript 解决方案来删除href
这个锚点的最后一个字符。我怎么做?
这个 jquery 冲突的原因是,因为我网站上的 #-links 是并且应该是滚动到 ID 属性。所以它滚动到 id 元素。这是一项我无法更改其构建方式的功能,因此我看到的唯一解决方案是/
从锚点中删除最后一个。
解决方案
由于#-link 的斜线,上面的锚给了我一个 jQuery 冲突
我建议您应该解决该冲突,因为/
在 URL 的片段中包含 a 本身并没有错。如果它对您造成错误,那么您需要修复您的逻辑。
话虽这么说,可以通过传递一个函数来执行您需要的操作,该函数prop()
使用正则表达式删除任何尾随斜杠:
$('.anchor').prop('href', function(i, href) {
return href.replace(/\/$/, '');
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<a href="https://example.com/my-account/#example/" class="anchor">...</a>
推荐阅读
- python - 当我传递参数时,Pygame Vector2.reflect 不起作用
- javascript - 从谷歌翻译器复制时字符串包含意外字符
- java - 没有找到适合 into(Uri) 的方法
- xslt - XSLT:在空节点之间计数
- kubernetes - 如何从运行在 kubernetes 中的容器连接到 samba 服务器?
- c - 有没有办法在 C 函数中全球化变量?
- python-3.x - 我想动态更改不和谐机器人状态
- javascript - SASS 将样式应用于整个网站,尽管仅导入到单个页面中
- c# - Google 身份验证关联失败。(位置未知)
- jfr - 从 FlightRecorderMXBean 读取和解析流