2013-11-21 2 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

멋진 생각. 하지만 지금 당장 uquery를 사용할 수있는 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

예 메이트는 이미 그것을 보았지만 처음에는 여전히 숫자를 사용합니다. CSS에서 허용되지 않습니다 :) –

관련 문제