Jquery 在函数中包含之前的变量

Jquery Include previous var in function

我有一个网站,当您单击索引页面上的菜单时,我希望用户被重定向到页面存档,并带有该特定项目的锚点。因此,当您单击项目 355 时,您将被重定向到 http://website.com/archive/#355

我使用了这个 html 代码:

<a  class="nav-menu <?php echo $post->ID; ?>" 
data-nav="<?php echo $post->ID; ?>" 
href="/archive#<?php echo $post->ID; ?>" >

使用这段代码,我添加了一个 data-nav 属性来为每个 link 菜单提取内容 (355),但我似乎无法获取脚本中使用的那些值。

$( "a.nav-menu" ).each(function(){
    var testdata = $(this).data("nav");
    console.log(testdata); 
});

在我的控制台日志中,我得到 321、340、355 等,所以我的所有项目 "name" 这是脚本,我想在锚点部分获取测试数据的值

$('#fullpage').fullpage({
   scrollingSpeed: 1000,
   anchors: ['364', '355', '341', '334', '321', '315'],
   continuousVertical: true,
   fixedElements: '#button1Id, #button2Id'
 });

我已经搜索过如何做到这一点,但我没有找到如何..

我已经为你指定的项目做了一个测试功能

我测试的 html 个项目是

<a class="nav-menu 364" data-nav="364" href="/archive#364" >Test1</a>
<a class="nav-menu 355" data-nav="355" href="/archive#355" >Test2</a>
<a class="nav-menu 341" data-nav="341" href="/archive#341" >Test3</a>
<a class="nav-menu 334" data-nav="334" href="/archive#334" >Test4</a>
<a class="nav-menu 321" data-nav="321" href="/archive#321" >Test5</a>
<a class="nav-menu 315" data-nav="315" href="/archive#315" >Test6</a>

处理这些项目的脚本是

var array = [];
$( "a.nav-menu" ).each(function(){
    var testdata = $(this).data("nav");
    array.push(testdata); 
});
console.log(array);

我在遍历项目之前启动了空数组,然后我可以在整页功能中使用它,如下所示

$('#fullpage').fullpage({
   scrollingSpeed: 1000,
   anchors: array,
   continuousVertical: true,
   fixedElements: '#button1Id, #button2Id'
 });

如果您希望项目是数组中的字符串,您应该使用

var testdata = $(this).data("nav").toString();

希望我的回答对你有用