2011-09-01 56 views
3

嗨HREF的一部分,我必须在CMS几个书签:删除使用JQuery

<li><a href="#online">Chat Online</a> </li> 
<li><a href="#termsOfService">Terms of Service</a> </li> 

但CMS是打破我的功能链接#前添加一些网址。 有没有什么办法可以删除#之前的所有链接#Jquery。 感谢您的帮助

+0

得到了解决....谢谢:) – Sonu

回答

0

这些元素有一个id?如果他们这样做,你可以做这样的事情,是XXX的每个元素

$(document).ready(function() { 
    var href = $('#XXX').attr('href'); 
    href = href.split('#')[1]; 
    $('#XXX').attr('href', href); 
}); 

的内部ID如果你想在你页面这适用于每一个锚,那么:

$(document).ready(function() { 
    $('a').each(function() { 
     var href = $(this).attr('href'); 
     href = href.split('#')[1]; 
     $(this).attr('href', href); 
    }); 
}); 

希望这帮助

0

试试这个

工作demo

$(function(){ 
    $("a").each(function(){ 
     if(this.href && (this.href.indexOf("#") != -1)){ 
      this.href = this.href.split("#")[1]; 
     } 
    }); 
}); 
3

您可以编写一个正则表达式来删除href属性中的散列之前的所有内容。我建议做它在服务器端的,但如果你必须使用jQuery它可能看起来像this

$('li a').each(function() { 
    var href = $(this).attr('href').replace(/.*(#.*)$/, "$1"); 
    $(this).attr('href', href); 
});