使用JQuery删除部分href

时间:2011-09-01 00:18:08

标签: jquery

您好我在CMS中有几个书签:

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

但是CMS在链接之前添加了一些URL,这会破坏我的功能。 有没有办法在使用 Jquery 的链接中删除#之前的所有内容。 谢谢你的帮助

3 个答案:

答案 0 :(得分:3)

您可以编写正则表达式来删除href属性中哈希之前的所有内容。我建议在服务器端执行此操作,但如果必须使用jQuery,它可能看起来像this

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

答案 1 :(得分:0)

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

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

如果您希望将此应用于您页面中的每个锚点,则:

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

希望这有帮助

答案 2 :(得分:0)

试试这个

正在使用 demo

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