2014-10-07 16 views
1

人們可以在預訂的第一天和最後一天在日曆上進行選擇。 類(.first)和(.last)將被添加。jQuery兩個類之間的所有項目

<div class='date'>Monday</div> 
<div class='date first'>Tuesday</div> 
<div class='date'>Wednesday</div> 
<div class='date'>Thursday</div> 
<div class='date last'>Friday</div> 
<div class='date'>Saturday</div> 
<div class='date'>Sunday</div> 

所有天(之間 「首先」 和 「去年 」)現在應該得到補充類「 .choosen」。

回答

1

您可以添加:

$('.first').nextUntil('.last').addClass('chosen') 

如果您需要包括第一個和最後的div(你沒有之間的說,不包括),你可以使用:

$('.first').nextUntil('.last').add('.first,.last').addClass('chosen') 
+0

nextUntil不包括最後一個元素... http://api.jquery.com/nextuntil/ – 2014-10-07 17:08:53

+1

@MathieuG - 顯然。這就是爲什麼我添加了第二個被剪切後用'add()'進行剪切的原因。請注意,OP在第一個和最後一個之間表示*。 – j08691 2014-10-07 17:09:35

+0

起初沒有看到第二個片段。你是對的! – 2014-10-07 17:18:15

0

有可能的另一種方式更高效,但你可以這樣做:

$('.first').nextUntil('.last').addClass('choosen'); 
$('.last').addClass('choosen'); 
+0

非常感謝。如果在每個div周圍總是有»​​«,我該怎麼辦? – user3581850 2014-10-07 17:11:37

+0

它不應該打擾div與td包裝。如果你想讓td在addClass之前選擇css類,請添加.parent(),如$('。last')。parent()。addClass('choosen'); – 2014-10-07 17:17:23

0

嘗試使用.slice()如果你知道當然範圍在這裏。取一看工作的例子:http://jsfiddle.net/csdtesting/cm6jq8tx/

$("div").slice(2, 5).addClass('choosen');
.choosen { 
 
    color: red; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class='date'>Monday</div> 
 
<div class='date first'>Tuesday</div> 
 
<div class='date'>Wednesday</div> 
 
<div class='date'>Thursday</div> 
 
<div class='date last'>Friday</div> 
 
<div class='date'>Saturday</div> 
 
<div class='date'>Sunday</div>

0

試試這個

$(document).ready(function(){ 
    $(".first").nextUntil(".last").addClass('choosen'); 
}); 
相關問題