我如何制作一个用户脚本来更改每个元素的每个 'href' 属性?

How can I make a userscript that changes every 'href' attribute of every element?

我看过类似的问题,但是它获取每个元素的 href 属性 class,我想要每个元素的 href 属性。然后我想将其更改为 link 我 specify.Their 解决方案如下所示:

var a,b,c,d, len;

a = document.getElementsByClassName("item title_link");
len = a.length;

    b = a[i].getAttribute('href');
    c = b.replace("#", "");
    d = "http://www.domainname.com/index/" + c + "/get";
    console.log(d); //just to check them out
}

//window.location.href = d;
//or whatever you wanted to do with that...

有什么方法可以替换每个属性而不是仅替换指定的 class?

纯Javascript方式:

var a = document.querySelectorAll("a");
[].forEach.call(a, function(elem){
  var b = elem.getAttribute('href');
  var newHref = "http://www.domainname.com/index/" +  b.replace(/#/g, '') + "/get";
  elem.setAttribute("href", newHref);
  console.log(newHref);
});

在jQuery方式:

items = $("a");

$(items).each(function(index, item){
    b = $(item).attr('href');
    c = b.replace("#", "");
    d = "http://www.domainname.com/index/" + c + "/get";
    //console.log(d); //just to check them out
    item.attr('href', d);
});

由于您添加了 jQuery 标签,我假设您接受了使用 jQuery 的答案。使用它非常简单,你只需要这样做:

$("[href]").attr("href", "your desired href destination");

Here 是一个带有示例的 jsfiddle。

说明[href]选择器选择所有具有名为href的属性的元素,.attr()函数为您的期望值。