我在这里的第一篇文章,但是我已经通过潜伏来学习了很多东西=)这次,我找不到问题的解决方案,虽然它看起来很容易实现。
我有一个使用Feed2JS生成的blogpost链接列表。不幸的是,作为此源的RSS源会为我不想要的链接添加锚点。我无法更改Feed,因为它是在RapidWeaver中自动生成的。
是否可以使用jQuery从url中的哈希中删除所有内容?例如:改变
http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php#unique-entry-id-31
到
http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php
我是jQuery的新手,还有很多需要学习的东西,所以请保持简单的答案。
的Jeroen
答案 0 :(得分:1)
如果您只想截断网址,可以将其设为
var url = "http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php#unique-entry-id-31";
var index = url.indexOf('#') != -1 ? url.indexOf('#') : url.length
alert(url.substring(0,index));
<强>输出:强>
http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php
答案 1 :(得分:0)
你不需要jQuery这样做,因为javascript支持window.location。
请查看此答案,了解您要执行的操作javascript window location href without hash?。
答案 2 :(得分:0)
我喜欢这样做:
var a = document.createElement("a");
a.href = "http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php#unique-entry-id-31";
alert(a.protocol + "://" + a.host + a.pathname + a.search);
答案 3 :(得分:0)
当然你可以这样做:
var str = 'http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php#unique-entry-id-31';
var substr = str.split('#');
// substr[0] contains "http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php"
// substr[1] contains "unique-entry-id-31"
请注意,这是来自JavaScript API。
答案 4 :(得分:0)
您不需要使用jQuery:
function truncate(href) {
var a = document.createElement('a');
a.setAttribute('href', href);
a.hash = '';
return a.href;
}
答案 5 :(得分:0)
jQuery不需要依赖,你可以使用正则表达式,如jsFiddle
所示var url = "http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.php#unique-entry-id-31"
console.log("base url >> " + url)
var matcher = /(.*)#.*/.exec(url)
var truncated = matcher[1]
console.log("truncated url >> " + truncated)
答案 6 :(得分:0)
var url = "http://www.example.com/blog/files/398e042ea42b7ee9d1678b3c53132fc3-31.phpunique-entry-id-31";
alert(url.substring(0,url.indexOf('#'))); // will give you empty string if you dont have # in the url.
所以,你可以使用
alert(url.split('#')[0]);