2016-08-24 26 views
0

使用方法'map'將以下類添加到每個列表'ul'的元素'li':1-st - 'sel',2 -nd - 'SEL2',3-RD - 'SEL3',4個 - 'SEL' ......如何使用方法'map'將以下類添加到元素'li'

$("li").map(function() { 

     var replacement = $("<li>"). $(this).get(0); 
     if (index === 0,4) { 
      $(replacement).addClass("sel"); 
     } 
     if (index === 1,4) { 
      $(replacement).addClass("sel1"); 
     } 
     if (index === 2,5) { 
      $(replacement).addClass("sel2"); 
     } 
     return replacement; 
    }); 
+0

你是什麼'指數意味着=== 0,4'? –

+0

我會選擇第一個和第四個元素 – ultimatum

回答

0

使用each,而不是map,因爲map是完全地錯了這項任務。你可以縮短你的代碼。 ;)

$("li").each(function(i) { 
 
    var replacement = $(this), 
 
     index = i > 0 && i < 3 ? ++i : ''; 
 

 
    replacement.addClass("sel" + index); 
 
});
.sel { color: red; } 
 
.sel2 { color: green; } 
 
.sel3 { color: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<ul> 
 
    <li>1</li> 
 
    <li>2</li> 
 
    <li>3</li> 
 
    <li>4</li> 
 
</ul>

或者與map,怎麼一回事,因爲希望:

$("li").map(function(i) { 
 
    var replacement = $(this), 
 
     index = i > 0 && i < 3 ? ++i : ''; 
 

 
    replacement.addClass("sel" + index); 
 
});
.sel { color: red; } 
 
.sel2 { color: green; } 
 
.sel3 { color: blue; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<ul> 
 
    <li>1</li> 
 
    <li>2</li> 
 
    <li>3</li> 
 
    <li>4</li> 
 
</ul>

+0

需要使用方法「地圖」來完成,這很重要! – ultimatum

+0

但這是'map'完全錯誤的用法?你知道「map」的用途嗎?但沒關係。也用'map'做了一個例子。它與'each'相同。只需用'map'切換每個''。 @ultimatum – eisbehr

+0

非常感謝您的幫助!你的回答幫了我很多! )) – ultimatum

相關問題