我正在寻找一些代码(如果可能的话,jquery)将从链接中删除任何文件扩展名。例如
directory/page.html to directory/page
directory2/page2.cfm to directory2/page2
这可能吗?
答案 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并将元素设置为文件扩展名,
真的不确定是诚实的。
还有一种更简单的方法可以在没有任何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('.')));
});