jquery所以链接跳转到下一个命名锚点

时间:2016-05-01 19:36:13

标签: jquery hash

命名主播:<a name="foobar" class="nextChart"></a>

链接:<a href="" class="next"></a>

我正在努力......

$( "a.next" ).click(function() {
    var hash = $(this).next("a.nextChart").attr('href'); 
    location = hash;
});

我错过了什么?

2 个答案:

答案 0 :(得分:0)

您确定命名锚是HTML文档中的下一个兄弟吗?

或者,您可以将代码重写为:

&#13;
&#13;
$("a.next").click(function(e) {
  e.preventDefault();
  var hash = $(this).parent().prev('.nextChart').attr('name');
  location = hash;
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<a name="foobar" class="nextChart"></a>
<div class="SOMECLASS">
  <a href="" class="next">asd</a>
</div>
<a name="foobar1" class="nextChart"></a>
<div class="SOMECLASS">
  <a href="" class="next">fds</a>
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

更简单的答案是不听取点击次数,而是更新hrefs,以便点击执行您想要的操作。

$( "a.next" ).each(function() {
    $(this).attr('href', '#'+$(this).parent().next('a.nextChart').attr('href')); 
});

然后,只需点击链接,它就会转到需要去的地方。