Javascript 设置每个数据id并将其分配给href

Javascript 设置每个数据id并将其分配给href,javascript,jquery,fotorama,Javascript,Jquery,Fotorama,我正在运行以下代码,因为我正在尝试首先获取每个.fotoramaid,然后将它们分配为每个.nav链接href $(".fotorama").each(function(){ id = $(".fotorama", this).data("id"); $(".nav li a").attr("href", '#'+ id); }); 这是给每个.nav链接的#未定义的 如何设置与每个.fotoramaid相同的href 例如html,ID和菜单项是在站点上动态生成的*

我正在运行以下代码,因为我正在尝试首先获取每个
.fotorama
id,然后将它们分配为每个
.nav
链接href

$(".fotorama").each(function(){
     id = $(".fotorama", this).data("id");
     $(".nav li a").attr("href",  '#'+  id);
});
这是给每个
.nav
链接的
#未定义的

如何设置与每个
.fotorama
id相同的href

例如html,ID和菜单项是在站点上动态生成的*

<ul class="nav">
  <li><a href=" "></a></li>
  <li><a href=" "></a></li>
  <li><a href=" "></a></li>
</ul>

<div class="fotorama" id="p1"></div>
<div class="fotorama" id="p2"></div>
<div class="fotorama" id="p2"></div>


更新到HTML帐户:

var links = $(".nav li a");

$(".fotorama").each(function(index){         
     links.eq(index).attr("href",  '#'+  this.id);
});
将在每个
.fotorama
元素上循环,并设置相应的
.nav li a
元素(基于索引)以使用该ID


更新到HTML帐户:

var links = $(".nav li a");

$(".fotorama").each(function(index){         
     links.eq(index).attr("href",  '#'+  this.id);
});
将在每个
.fotorama
元素上循环,并设置相应的
.nav li a
元素(基于索引)以使用该ID

那应该行得通

var id, a, anchors = $(".nav li a");
$(".fotorama").each(function (i) {
  id = $(this).attr("id");
  a = $(anchors[i]);
  if (id && a && a.length)
    a.attr("href", '#' + id);
});
这应该行得通

var id, a, anchors = $(".nav li a");
$(".fotorama").each(function (i) {
  id = $(this).attr("id");
  a = $(anchors[i]);
  if (id && a && a.length)
    a.attr("href", '#' + id);
});


这会将相同的
href
应用于所有具有最后一个
值的链接。fotorama
idex正确地说,所有链接的href都是相同的links@rob.m-我提供了一个JS提琴并更新了我的答案。希望这有帮助。@rob.m-它正在更改href,如果你看到我的JSFIDLE并将鼠标悬停在链接上,它会显示正确的id。谢谢你,伙计。。我使用此脚本从URL动态生成youtube缩略图。这将对具有最后一个
值的所有链接应用相同的
href
。fotorama
idexatly,我为所有链接都获得相同的hreflinks@rob.m-我提供了一个JS提琴并更新了我的答案。希望这有帮助。@rob.m-它正在更改href,如果你看到我的JSFIDLE并将鼠标悬停在链接上,它会显示正确的id。谢谢你,伙计。。我使用这个脚本从URL动态生成youtube缩略图。提供您的HTML标记。目前,这将对具有最后一个
值的所有链接应用相同的href。fotorama
数据id是
id
html属性
id
还是一些绑定数据?还有嵌套的
.fotorama
类元素吗?因为
$(“.fotorama”,this)
是一个在
内返回
.fotorama
的选择器。fotorama
刚刚添加了一些html示例,您希望它们按顺序匹配吗?那么第一个链接应该是#p1,然后是第二个#p2和第三个#p2?此外,您不应该在一个页面中多次使用同一ID。请提供您的HTML标记。目前,这将对具有最后一个
值的所有链接应用相同的href。fotorama
数据id是
id
html属性
id
还是一些绑定数据?还有嵌套的
.fotorama
类元素吗?因为
$(“.fotorama”,this)
是一个在
内返回
.fotorama
的选择器。fotorama
刚刚添加了一些html示例,您希望它们按顺序匹配吗?那么第一个链接应该是#p1,然后是第二个#p2和第三个#p2?另外,你不应该在一个页面中多次使用同一ID。我需要基于唯一ID的唯一href,它们不是嵌套的,请使用html@rob.m在这个例子中,如果不适合你,那么一定会有所不同。您最初发布的HTML是从您的代码中复制的,而不是从您的代码中复制的,因为这会导致代码中断?不,这是一个输入错误,让我检查一下,我一定有冲突。这现在正在工作,但链接不正常,它们获得下一个id而不是当前的id。我需要基于唯一id的唯一href,它们不是嵌套的,请用html@rob.m在这个例子中,如果不适合你,那么一定会有所不同。您最初发布的HTML是从您的代码中复制的,而不是从您的代码中复制的,因为这会导致代码中断?不,这是一个输入错误,让我检查一下,我一定有冲突。这现在正在工作,但链接不正常,它们得到的是下一个id而不是当前id