Javascript 如何使用jQuery向超链接添加新属性

Javascript 如何使用jQuery向超链接添加新属性,javascript,jquery,Javascript,Jquery,我想知道如何使用JQuery向超链接添加新属性。我尝试了各种选择方法,但没有一种用于我的html代码 html代码 <a href="https://useotools.com/contact#faq" class="current"><i class="menu_icon blank fa"></i><span>FAQs</span><span class="plus"></span></a> 代

我想知道如何使用JQuery向超链接添加新属性。我尝试了各种选择方法,但没有一种用于我的html代码

html代码

<a href="https://useotools.com/contact#faq" class="current"><i class="menu_icon blank fa"></i><span>FAQs</span><span class="plus"></span></a>

代码笔:

您的选择器正常。使用prop更改onclick not ok

您的
jQuery(window).load(function(){})
也不正确,应该是
jQuery(window).on('load',function(){})

我更喜欢
$(function(){})

$(函数(){
$('a[href$=“联系#常见问题解答”]”)
.css(“背景色”、“红色”)//检查选择器是否正常
.attr(“onclick”,“window.location.href=”https://useotools.com“;警报('bla');返回false;”;
});

您的选择器正常。使用prop更改onclick not ok

您的
jQuery(window).load(function(){})
也不正确,应该是
jQuery(window).on('load',function(){})

我更喜欢
$(function(){})

$(函数(){
$('a[href$=“联系#常见问题解答”]”)
.css(“背景色”、“红色”)//检查选择器是否正常
.attr(“onclick”,“window.location.href=”https://useotools.com“;警报('bla');返回false;”;
});

如果要更改元素的
href
属性,只需使用
prop()
。您不需要为它创建单独的单击处理程序

还请注意,您创建的所有条件归结为一个条件:如果href包含
请联系#faq
。因此,可以使用单个属性选择器

最后,
load()
不是事件处理程序。您需要在('load')上使用
。试试这个:

$(窗口).on('load',function()){
$('a[href*=“contact#faq”]”)。prop('href','https://useotools.com');
});

还值得注意的是,
window.load
事件与
document.ready
不同,因此您可能需要根据具体需要更改该事件处理程序。

如果要更改元素的
href
属性,只需使用
prop()
。您不需要为它创建单独的单击处理程序

还请注意,您创建的所有条件归结为一个条件:如果href包含
请联系#faq
。因此,可以使用单个属性选择器

最后,
load()
不是事件处理程序。您需要在('load')上使用
。试试这个:

$(窗口).on('load',function()){
$('a[href*=“contact#faq”]”)。prop('href','https://useotools.com');
});

还值得注意的是,
窗口.load
事件与
文档.ready
不同,因此您可能需要根据具体需要更改该事件处理程序。

停止尝试摆弄“属性”,并以正确的jQuery方式添加事件处理程序@CBroe该onClick属性是我的修复程序,用于防止ajax重定向到网页,因为一些脚本由于它而未加载。因此,您应该从一开始就正确描述您试图在问题中修复的实际问题。停止尝试摆弄“属性”,并以正确的jQuery方式添加事件处理@CBroe onClick属性是我的修复程序,它可以防止ajax重定向到网页,因为一些脚本没有加载,因此您应该从一开始就正确地描述您试图在问题中修复的实际问题。hmmm是的,这可能会起作用,但我需要将onClick属性自动添加为页面加载,因为必须避免通过它加载ajax页面,因为由于ajax的原因,一些脚本没有正确加载不确定“自动”是什么意思我的代码在页面上执行load@mplugjan,谢谢,这个替代方案解决了这个问题,但是我很好奇为什么我的jquery选择查询不能将onclick属性添加到hyperlink?我玩了很多游戏,所以我很好奇,我的选择问题出了什么问题,所以魔法是,用道具你不能再点击一次,您必须使用attr:)嗯,单击可能会起作用,但我需要将onclick属性自动添加到页面加载中,因为我必须避免通过它加载ajax页面,因为由于ajax,一些脚本没有正确加载。不确定“自动”指的是什么,我的代码在页面上执行load@mplugjan ,谢谢,这个替代方案解决了这个问题,但是我很好奇为什么我的jquery选择查询不能将onclick属性添加到hyperlink?我玩了很多游戏,所以我很好奇我的选择查询出了问题,所以神奇的是,使用道具你不能添加onClick,你必须使用attr:)感谢点击只是为了防止ajax重定向,但是我尝试了你的代码,但它不起作用我在codepen上检查了,我很好奇为什么这些jquery选择查询不起作用:(:啊,
load()
应该是
on('load',fn)
,就像
load()一样)
不是一个事件处理程序。我已经更新了答案。这里有一个可用的小提琴,感谢点击只是为了防止ajax重定向,但是我尝试了你的代码,但它不工作。我在codepen上检查了一下,我很好奇为什么这些jquery选择查询不工作:(:啊,
load()
应该是
on('load',fn)
,因为
load()
不是一个事件处理程序。我已经更新了答案。这是一把工作小提琴
 jQuery(window).load(function () {
 // if contain contact#faq
 jQuery('a[href~="contact#faq"]').prop("onclick", "window.location.href='https://useotools.com'; return false;");

 // if url equal to 
  jQuery('a[href="https://useotools.com/contact#faq"]').prop("onclick", "window.location.href='https://useotools.com'; return false;");

 // if url end with
   jQuery('a[href$="contact#faq"]').prop("onclick", "window.location.href='https://useotools.com'; return false;");

  // if url start with
   jQuery('a[href*="useotools.com/contact#faq"]').prop("onclick", "window.location.href='https://useotools.com'; return false;");

 });