2013-11-21 46 views
-2

正如标题所说,我想拥有字符串类而不是数字,这是我目前拥有的脚本!jQuery:如何在字/字符串中添加/使用数字类?

$('ul#nav li').each(function (index, element) { 
    $(element).addClass('number_' + (index+1).toString()); 
}); 

这就是我得到的,它工作正常,没有错;

<ul id="nav"> 
    <li class="number_1"></li> 
    <li class="number_2"></li> 
    <li class="number_3"></li> 
    <li class="number_4"></li> 
    <li class="number_5"></li> 
</ul> 

但我希望它返回类中的字符串和非数值!所以像这样的东西;

<ul id="nav"> 
    <li class="first"></li> 
    <li class="second"></li> 
    <li class="third"></li> 
    <li class="fourth"></li> 
    <li class="fifth"></li> 
</ul> 

请注意:这些类生成/动态添加,因此该字符串类应动态地增加,因此可能有100个列表项!

谢谢您的时间,感谢所有帮助:)

+1

不错的想法。但现在在jQuery中没有任何准备好的功能可以用来实现这一点。 – Bhadra

+1

是的,它是可以实现的。只有你有一个带有'['1'映射的字典:'first','2':'second','3'=>'third',...]' – Aniket

+0

这就是我想要做的,所以也许有一个功能,这样做,然后再次使用它:) –

回答

2

你想是什么让没有真正意义上的,但你可以用数组实现它:

<script type="text/javascript"> 
    var listClasses = new Array("first", "second", "third", "fourth",.....); 
</script> 

然后使用一些代码位修改:

$('ul#nav li').each(function (index, element) { 
    $(element).addClass(listClasses[index]); 
}); 
+0

谢谢,是的,我知道它没有意义,但由于我的限制,我不能使用数字类!我已经将它作为数组使用,但是这意味着我必须手动添加类:(干杯 –

+0

你看过http://stackoverflow.com/questions/15809950/javascript-ordinal-suffix-for-numbers-with-specific-css-class?它看起来像也许有人想做同样的事情,也许这些答案中的一个可以帮助你找出如何不使用数组,但算法生成的话 –

+0

是的,队友已经看过,但仍然在开始时使用数字, t允许在CSS中:) –