javascript - 如果锚点名称是 CONTACT,请在点击时打开此 url
问题描述
我有菜单:
<ul id="main-menu">
<li><a href="https://myplace.com/products/">Products</a></li>
<li><a href="https://myplace.com/services/">Services</a></li>
<li><a href="https://myplace.com/contact/">Contact</a></li>
</ul>
我想将锚名称联系人重定向到 othersite.com
解决方案
正如您在评论中提到您需要使用 JS 来编辑href
并且您无法修改 HTML,您可以这样做:
var oldhref = "https://myplace.com/contact/"
var newhref = "https://othersite.com/"
$(document).ready(function() {
$("[href='" + oldhref + "']").prop("href", newhref)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="main-menu">
<li><a href="https://myplace.com/products/">Products</a></li>
<li><a href="https://myplace.com/services/">Services</a></li>
<li><a href="https://myplace.com/contact/">Contact</a></li>
</ul>
这将a
根据它找到元素href
并在不修改 HTML 的情况下替换它。
基于链接文本而不是它的选择的版本href
:
var linkText = "Contact"
var newhref = "https://othersite.com/"
$(document).ready(function() {
$("a:contains('" + linkText + "')").filter(function(i) {
return $(this).text() === linkText
}).prop("href", newhref).attr("target", "_blank")
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<ul id="main-menu">
<li><a href="https://myplace.com/products/">Products</a></li>
<li><a href="https://myplace.com/services/">Services</a></li>
<li><a href="https://myplace.com/contact/">Contact</a></li>
</ul>
推荐阅读
- javascript - 我可以从对象中获取一些键值吗?
- swift - FirebaseCore 词法或预处理器问题
- symfony4 - 每个环境的自定义原则配置
- python - 使用运算符 python 在另一个字符串中找不到从正则表达式返回的字符串
- c# - 修改 Visual Studio/Dot Net 如何创建 DLL?
- ssas - MDX 查询以计算产品名称的数量
- python - 使用 pandas 检查条件时排除某些值
- python - 通过 AWS-IoT Core 连接时无法更改 RaspberryPi 上的主题名称
- angular - 角度错误块资产优化 cleancss-webpack-plugin
- r - R rugarch: $ operator invalid for atomic vectors?