您好我在CMS中有几个书签:
<li><a href="#online">Chat Online</a> </li>
<li><a href="#termsOfService">Terms of Service</a> </li>
但是CMS在链接之前添加了一些URL,这会破坏我的功能。 有没有办法在使用 Jquery 的链接中删除#之前的所有内容。 谢谢你的帮助
答案 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];
}
});
});