【发布时间】:2017-01-23 14:18:34
【问题描述】:
我正在尝试基于锚导航构建此部分。当我单击一个链接时,我会到达所需的锚点,并且单击的链接会获得一个具有特定样式的类,到目前为止它运行良好:
HTML
<body>
<nav>
<div class="anchor-link" > <a href="#anchor1" > Anchor 1 </a> </div>
<div class="anchor-link"> <a href="#anchor2"> Anchor 2 </a> </div>
<div class="anchor-link"> <a href="#anchor3"> Anchor 3 </a> </div>
<div class="anchor-link"> <a href="#anchor4"> Anchor 4 </a> </div>
<div class="anchor-link"> <a href="#anchor5"> Anchor 5 </a> </div>
</nav>
<div class="main-wrap">
<div id="anchor1"></div>
<div id="anchor2"></div>
<div id="anchor3"></div>
<div id="anchor4"></div>
<div id="anchor5"></div>
</div>
</body>
JS
$(document).ready(function(){
$(".anchor-link").on("click", function(){
$(this).addClass("active");
$(this).siblings().removeClass("active");
现在我想获取 href 中的值,但这不起作用,它返回 undefined:
var href = $(this).attr('href');
console.log(href);
})
假设它有效,并且 var href 保存了点击链接的值,例如“#anchor1”,我将如何继续在“main-wrap”中找到 id 为“ #anchor1"?
这行得通吗?我必须如何填写查找查询?
$(".main-wrap").find(...);
【问题讨论】:
-
为了正确获取 href:请改用:
var href = $("a", this).attr('href');