如何在jQuery的for循环中向href添加变量?

4

我在一个for循环中创建了八个div,我想将每个div都链接到不同的html页面,而且我还将这些页面命名为0〜7。那么我该如何将变量“i”添加到href中呢?谢谢!

for(i = 0; i < 8; i++) {
    counter[i] = increase * (i * 2);
    var div = $('<div class="node"><a id="link" href=i + ".html"><img src=archive/' + i + '.jpg width="200" height="200"/></a></div>');
    div.css({'top':yoffset,'left':innerWidth/8 * i});
    $('body').append(div);
    objects[i] = div;
}

你说的将其链接到 href 中是什么意思?你能给出一个样例,展示最终 href 值的期望结果吗? - Ravi Y
3个回答

4

更改

var div = $('<div class="node"><a id="link" href=i+".html"><img src=archive/'+i+'.jpg width="200" height="200"/></a></div>');

to

var div = $('<div class="node"><a id="link" href="'+i+'.html"><img src=archive/'+i+'.jpg width="200" height="200"/></a></div>');

2
var div = $('<div class="node"><a id="link" href="' + i + '.html"><img src=archive/' + i + '.jpg width="200" height="200"/></a></div>');

这将使每个链接指向.html。

1
我建议创建元素并设置属性,而不是为元素创建HTML代码:
for(i = 0; i < 8; i++) {
  counter[i] = increase * (i * 2);
  var img = $('<img>', { src = 'archive/' + i + '.jpg', width: '200', height: '200' });
  var a = $('<a>', { id: 'link', href: i + '.html' }).append(img);
  var div = $('<div>', { 'class': 'node' }).append(a).css({'top':yoffset,'left':innerWidth/8 * i});
  $('body').append(div);
  objects[i] = div;
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接