-2

感谢您抽出宝贵时间帮助我!

我想从这个特殊 div #nav 中每个 li 的 href 中删除特殊链接示例“/siteurl/”

现在怎么样了:

<div id="nav" class="menu">
   <ul class="menu">
     <li><a href="/siteurl/#home">Home</a></li>
     <li><a href="/siteurl/#services">Services</a></li>
</ul>   
</div>  

我需要是这样的:

<div id="nav" class="menu">
   <ul class="menu">
     <li><a href="#home">Home</a></li>
     <li><a href="#services">Services</a></li>
</ul>   
</div> 
4

3 回答 3

1

一个简单的字符串替换方法可以帮助你

$(".menu a").each(function() {
  this.href = this.href.replace(/\/siteurl\//,"");
});
于 2013-10-08T17:31:34.077 回答
1

像这样的代码应该这样做:

var cutLen = "/siteurl/".length;

$("li a").each(function() {
  this.href = this.href.substr(cutLen);
});

此外,您不得在未在此处显示任何尝试的情况下发布问题。我们不会为您编写代码。

于 2013-10-08T17:26:54.600 回答
0

这是片段

和代码(应该是自我解释的)

$(document).ready(function(){
  //the <li> > <a>'s of the menu
  $('#nav li a').each(function(){
    //what we are looking fore
   var search = '/siteurl/';
    //the current url
    var href = $(this).attr('href');
    //check if url begins with pattern
    if(href.indexOf(search) === 0){
      //now remove it
      href = href.substr(search.length);
      //and update the attribute
      $(this).attr('href', href);
    }
  });
});
于 2013-10-08T17:35:54.520 回答