如何使用jQuery更改超链接的href属性(链接目标)?
当前回答
尽管OP明确要求jQuery的答案,但现在您不需要对所有事情都使用jQuery。
一些没有jQuery的方法:
如果要更改所有<a>元素的href值,请将其全部选中,然后遍历节点列表:(示例)var anchors=document.querySelectorAll('a');Array.protocol.forEach.call(锚,函数(元素,索引){element.href=“http://stackoverflow.com";});如果要更改实际具有href属性的所有<a>元素的href值,请通过添加[href]属性选择器(a[href]])来选择它们:(示例)var anchors=document.querySelectorAll('a[href]');Array.protocol.forEach.call(锚,函数(元素,索引){element.href=“http://stackoverflow.com";});如果要更改包含特定值的<a>元素的href值,例如google.com,请使用属性选择器a[href*=“google.com”]:(示例)var anchors=document.querySelectorAll('a[href=“google.com”]');Array.protocol.forEach.call(锚,函数(元素,索引){element.href=“http://stackoverflow.com";});同样,您也可以使用其他属性选择器。例如:a[href$=“.png”]可用于选择href值以.png结尾的<a>元素。a[href^=“https://”]可用于选择具有前缀为https://的href值的<a>元素。如果要更改满足多个条件的<a>元素的href值:(示例)var anchors=document.querySelectorAll('a[href=“https://”],a[href=“.png”]');Array.protocol.forEach.call(锚,函数(元素,索引){element.href=“http://stackoverflow.com";});
..在大多数情况下不需要正则表达式。
其他回答
$("a[href^='http://stackoverflow.com']")
.each(function()
{
this.href = this.href.replace(/^http:\/\/beta\.stackoverflow\.com/,
"http://stackoverflow.com");
});
Try
link.href = 'https://...'
link.href='https://stackoverflow.com'<a id=“link”href=“#”>单击我</a>
使用
$("a").attr("href", "http://www.google.com/")
将修改所有超链接的href以指向Google。不过,您可能需要一个更精细的选择器。例如,如果您有链接源(超链接)和链接目标(也称为“锚”)锚标记的组合:
<a name="MyLinks"></a>
<a href="http://www.codeproject.com/">The CodeProject</a>
…然后您可能不想意外地将href属性添加到它们中。为了安全起见,我们可以指定我们的选择器将仅与具有现有href属性的<a>标记匹配:
$("a[href]") //...
当然,你可能会有更有趣的想法。如果要将锚点与特定的现有href相匹配,可以使用以下内容:
$("a[href='http://www.google.com/']").attr('href', 'http://www.live.com/')
这将找到href与字符串完全匹配的链接http://www.google.com/.一个更复杂的任务可能是匹配的,然后只更新href的一部分:
$("a[href^='http://stackoverflow.com']")
.each(function()
{
this.href = this.href.replace(/^http:\/\/beta\.stackoverflow\.com/,
"http://stackoverflow.com");
});
第一部分仅选择href开头的链接http://stackoverflow.com.然后,定义一个函数,该函数使用一个简单的正则表达式将URL的这部分替换为一个新的。请注意,这给了您灵活性——对链接的任何修改都可以在这里完成。
在查找时使用attr方法。您可以使用新值关闭任何属性。
$("a.mylink").attr("href", "http://cupcream.com");
更改Wordpress Avada主题徽标图像的HREF
如果你安装了ShortCode Exec PHP插件,你可以创建这个我称为myjavascript的短代码
?><script type="text/javascript">
jQuery(document).ready(function() {
jQuery("div.fusion-logo a").attr("href","tel:303-985-9850");
});
</script>
现在,您可以转到外观/小部件,选择一个页脚小部件区域,并使用文本小部件添加以下短代码
[myjavascript]
选择器可能会根据您使用的图像以及视网膜是否就绪而改变,但您始终可以使用开发人员工具来确定。
推荐文章
- 撇号的HTML代码
- 如何在Typescript中解析JSON字符串
- jQuery的“输入”事件
- Javascript reduce()在对象
- 在angularJS中& vs @和=的区别是什么
- 错误"Uncaught SyntaxError:意外的标记与JSON.parse"
- JavaScript中的querySelector和querySelectorAll vs getElementsByClassName和getElementById
- 给一个数字加上st, nd, rd和th(序数)后缀
- 如何以编程方式触发引导模式?
- setTimeout带引号和不带括号的区别
- 为什么我的CSS3媒体查询不能在移动设备上工作?
- 在JS的Chrome CPU配置文件中,'self'和'total'之间的差异
- 用javascript检查输入字符串中是否包含数字
- 如何使用JavaScript分割逗号分隔字符串?
- 在Javascript中~~(“双波浪号”)做什么?