Javascript 单页网站的自动生成导航菜单

Javascript 单页网站的自动生成导航菜单,javascript,jquery,dom,Javascript,Jquery,Dom,我想为单页网站创建一个自动生成的导航菜单 <!-- html --> <section id="home"> </section> <section id="aboutus"> </section> <section id="contactus"> </section> <nav id="nav_menu"> </nav> // jQuery <script> $(fun

我想为单页网站创建一个自动生成的导航菜单

<!-- html -->
<section id="home">
</section>
<section id="aboutus">
</section>
<section id="contactus">
</section>
<nav id="nav_menu">
</nav>

// jQuery
<script>
  $(function() {
    $('section').each(function(index) {
      $('#nav_menu').append('<a href="'+$(this).hash+'">&diams;<br /></a>')
    });
  });
</script>

//jQuery
$(函数(){
$('section')。每个(函数(索引){
$(“#导航菜单”)。附加(“”)
});
});
我想为页面中的每个部分创建一个菱形,其中每个菱形都有一个到相应页面的锚


问题是$(this).location.hash显示的是未定义的,而不是页面的锚。我不确定应该使用什么来获取分区的哈希值。

您需要分区的ID

$('section').each(function(index) {
  $('#nav_menu').append('<a href="#'+this.id+'">&diams;<br /></a>')
});
$('section')。每个(函数(索引){
$(“#导航菜单”)。附加(“”)
});

引用的dom元素在该上下文中不属于
窗口
,加上
哈希
位置
的属性,它是
窗口
的属性。是否清除更多?在“$(this).location.hash”处写下你想要的
部分
你想要什么?hash“你想要在那里散列吗?我想要在那里的部分的散列(id)你需要做
$(this)[0]。id
$(this).attr('id')
。但从您试图实现的功能来看,您需要使用
标记。