如何在 DOM 加载后使用 JavaScript 或 JQuery 从 href 属性中删除字符?

How to delete a character from href attribute using JavaScript or JQuery after DOM loaded?

我想使用一些在 'href' 值中带有特殊字符的 link...

例如 link 是:www.my*blog.com

加载文档时,“*”将被 JavaScript 或 jQuery 函数删除。

我用了两个函数:

document.addEventListener('DOMContentLoaded', function() {
    var i=0,j='',val='';
    var list = document.getElementsByTagName("a");
    for(i;i<=list.length;i++)
    {
      j=list[i].getAttribute("href");
      val = j.replace('*','');
      list[i].setAttribute('href',val);
    }

}, false);

在jQuery中:

$(document).ready(function()
{
    var i=0,j='',val='';
    var list = document.getElementsByTagName("a");
    for(i;i<=list.length;i++)
    {
      j=$(list[i]).attr('href');
      val = j.replace('*','');
      $(list[i]).attr('href',val);
    }
});

但是这个功能在某些情况下不能正常工作...

更正了循环条件,因为它正在执行循环一次额外的迭代:

$(document).ready(function()
{
    var i=0,j='',val='';
    var list = document.getElementsByTagName("a");
    for(i;i<list.length;i++)//for(i;i<=list.length;i++)
    {
      j=$(list[i]).attr('href');
      val = j.replace('*','');
      $(list[i]).attr('href',val);
    }
});

您可以使用此代码

jQuery(document).ready(function() {
  jQuery("a[href*='*']").each(function() {
    jQuery(this).attr("href", jQuery(this).attr("href").replace(/\*/g, ""));
  });
});