jquery改变链接

时间:2011-10-21 10:05:52

标签: jquery hyperlink

我正在寻找一些代码(如果可能的话,jquery)将从链接中删除任何文件扩展名。例如

directory/page.html to directory/page
directory2/page2.cfm to directory2/page2

这可能吗?

3 个答案:

答案 0 :(得分:0)

jQuery只能为你选择元素,但不能处理字符串。简单的字符串操作就可以了:

$('a').attr('href', function(i, value) {
    return value.substring(0, value.lastIndexOf('.'));
});

lastIndexOf仅在IE9中受支持,所以也许您必须使用正则表达式:

return value.replace(/\..+$/, '');

更新:关于您的评论,这更简单,只需使用

即可
 return value.replace(/\.cfm$/, '');

您也可以通过仅选择实际以.cfm结尾的链接来限制链接集:

$('a[href$=".cfm"]')

答案 1 :(得分:-1)

我不完全确定这是否可行,但您可以尝试使用.remove并将元素设置为文件扩展名,

http://api.jquery.com/remove/

真的不确定是诚实的。

还有一种更简单的方法可以在没有任何jQuery的情况下执行此操作,但是,您可以做的是将所有文件命名为index.extension并将它们放在根目录中的相应文件夹中,例如

将new.html重命名为index.html,然后将其放置在名为news的目录中,然后当有人输入www.yourdomain.com/news/时,它会直接打开必要的页面,可能比jQuery更简单。< / p>

答案 2 :(得分:-1)

$('a[href]').each(function(){
    $(this).attr('href',$(this).attr('href').substring(0, value.lastIndexOf('.')));
});