我确定这很简单,但我似乎无法让它工作。点击后替换链接后的锚文本
我想单击链接后替换锚链接。被替换的链接将来自data-href
值。
这里的HTML
<header class="site-header">
<nav class="nav-primary">
<ul>
<li><a href="#services" class="home-nav" data-href="/services">Services</a></li>
<li><a href="#about" class="home-nav" data-href="/about">About</a></li>
<li><a href="#portfolio" class="home-nav" data-href="/portfolio">Portfolio</a></li>
<li><a href="#blog" class="home-nav" data-href="/blog">Blog</a></li>
</ul>
</nav>
</header>
<div class="site-inner">
<div class="content-site-wrap">
<section id="services">Lorem ipsum dolor sit amet</section>
<section id="about">Lorem ipsum dolor sit amet</section>
<section id="portfolio">Lorem ipsum dolor sit amet</section>
<section id="blog">Lorem ipsum dolor sit amet</section>
</div>
</div>
而且我在JS尝试:
$(document).on('click', '.nav-primary a', function(){
$('a.home-nav').attr('href', data('href'));
});
不知道它的问题,但我使用此页面上的jQuery的平滑滚动,从这样当一个链接导航被点击,它将滚动到页面上的锚点。如果点击了相同的链接,则会转到由data-href
定义的链接。
简而言之,我只需要点击链接后替换链接#
。也许一个简单的replace
函数可能工作。
<一个的onclick = “this.href = this.getAttribute( '数据的href');返回false;”/ > –
@MagicLasso这改变了链接的'href',但是在初始点击时,它并没有跳转到锚点,随后的点击也没有进入'data-href'定义的链接。 –
啊,所以你想要去'data-href'中存储的链接? –