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

时间:2013-02-07 11:48:03

标签: javascript jquery fotorama

我正在运行以下代码,因为我首先尝试获取每个.fotorama ID,然后将每个{1}}链接分配给每个.nav链接href。

$(".fotorama").each(function(){
     id = $(".fotorama", this).data("id");
     $(".nav li a").attr("href",  '#'+  id);
});

这给了我#undefined每个.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>

3 个答案:

答案 0 :(得分:3)

已更新为HTML帐户:

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

$(".fotorama").each(function(index){         
     links.eq(index).attr("href",  '#'+  this.id);
});

将遍历每个.fotorama元素并设置相应的.nav li a元素(基于索引)以使用该ID。

JSFiddle Example

答案 1 :(得分:1)

var n = 0;   

$(".fotorama").each(function(){
   id = $(this).attr("id");
   $(".nav li a:eq(" + n + ")").attr("href",  '#'+  id);
   n++;
 });

http://jsfiddle.net/Y3WVs/2/

答案 2 :(得分:1)

那应该有用

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);
});