我正在尋找一些代碼(如果可能的話,jquery),它將從鏈接中刪除任何文件擴展名。例如jquery alter links
directory/page.html to directory/page
directory2/page2.cfm to directory2/page2
這可能嗎?
我正在尋找一些代碼(如果可能的話,jquery),它將從鏈接中刪除任何文件擴展名。例如jquery alter links
directory/page.html to directory/page
directory2/page2.cfm to directory2/page2
這可能嗎?
jQuery只能爲你選擇元素,但不處理字符串。簡單的字符串操作將做到這一點:
$('a').attr('href', function(i, value) {
return value.substring(0, value.lastIndexOf('.'));
});
lastIndexOf
在IE9只支持了,所以也許你必須使用正則表達式:
return value.replace(/\..+$/, '');
更新:關於你的評論,這是更簡單,只需使用
return value.replace(/\.cfm$/, '');
您也可以通過僅選擇那些實際以0結尾的鏈接來限制鏈接集:
$('a[href$=".cfm"]')
只需刪除最後一個'。'後的所有內容。可能會破壞很多他不想修改的鏈接。像'http:// www.test.com /'就會變成'http:// www.test' –
@Anthony:真的......這個問題有各種解決方案。最簡單的是,如果所有這些鏈接共享一個共同的類。如果OP提供了更多信息,答案會更好;) –
嗨,大家好,在理想的世界中,我想從頁面上的所有鏈接中刪除任何'.cfm'文件擴展名。那可能嗎? – twsJames
我不能完全肯定這是否會工作,但你可以嘗試使用卸下襬臂,並設置元素文件擴展名,
真的不知道要誠實。
也有這樣做沒有任何但是jQuery的一個簡單的方法,你可以做的是名稱的所有文件index.extension並將它們放置在從根文件夾根據,例如
new.html會重新命名爲index.html,然後放在一個名爲news的目錄中,然後當有人輸入www.yourdomain.com/news/時,它會直接打開必要的頁面,可能比jQuery簡單一些。
'remove'從DOM中刪除元素。它甚至不會去除部分字符串。 –
$('a[href]').each(function(){
$(this).attr('href',$(this).attr('href').substring(0, value.lastIndexOf('.')));
});
如果你想有乾淨的網址,可能是搜索引擎優化的原因
downvote的任何具體原因? –
,最好使用'.htaccess'重寫的URL。這由apache使用。檢查這個工具http://www.generateit.net/mod-rewrite/ – Sotiris
你爲什麼要這樣做? –