2011-04-11 54 views
0

内格指数我有一个基本的设置是这样的:使用jQuery追加相同的div

<div class="stop"> 
    <span class="point"></span> 
</div> 
<div class="stop"> 
    <span class="point"></span> 
</div> 

,我想给每个嵌套span.point内追加div.stop的指数,像这样:

<div class="stop"> 
    <span class="point">1</span> 
</div> 
<div class="stop"> 
    <span class="point">2</span> 
</div> 

这是我使用jQuery,但它不工作:

$("div.stop").each(function() { 
    var stopNumber = $("div.stop").index(this); 
    $("div.stop span.point").append(stopNumber); 
}); 

预先感谢任何提示或S uggestions。

-Brian

回答

1

没有必要为index呼叫,.each供应指标作为参数传递给回调:

$("div.stop").each(function(n) { 
    $('span.point', this).append(n + 1); 
}); 

http://jsfiddle.net/55ABr/

+0

应该使用text()而不是append() - 否则就是很好的答案。 – markmywords 2011-04-11 21:02:08

+0

true - 我懒得修理OP的代码。他可能有充分的理由使用'.append()'。 – Alnitak 2011-04-11 21:03:18

+0

谢谢!所以(n + 1)取每个div.stop的索引?还是仅仅用它来计算它的运行次数?另外,('span.point',这)完成了什么? – brianandrich 2011-04-11 21:08:39

0

你要到div stop内选择点。试试这个:

$("div.stop").each(function() { 
    var stopNumber = $("div.stop").index(this); 
    $("span.point", this).append(stopNumber); 
}); 
0

试试这个:

$("div.stop").each(function(i, el) {  
    $("span.point", this).text(i+1); 
});