0
jQueryを使用してクリックごとに次のn個の連続する要素を選択するにはどうすればよいですか?
以下の例では、最初のボタンのクリックで最初の4つの要素を選択し、次に2番目のクリックで4番目の要素を選択し、次に3番目の要素で4番目の要素を選択します。もう一度クリックでjQueryを使用してクリックごとに次のn個の連続する要素を選択するにはどうすればよいですか?
$(document).ready(function(){
$(".btn").on('click', function(){
$("li:nth-child(-n+4)").addClass("selected");
});
});
.btn{ text-decoration:none; background:blue; color:#fff; padding:5px; border-radius:4px;float:left;}
ul{ list-style:none;float:left;clear:both;}
ul li{ padding:5px;background:#555; color:#fff; float:left; border-radius:2px; margin:2px; }
.selected{ background:red;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<a class="btn">select next 4 consecutive elements</a>
<ul>
<li> 1st 4</li>
<li> 1st 4</li>
<li> 1st 4</li>
<li> 1st 4</li>
<li> 2nd 4</li>
<li> 2nd 4</li>
<li> 2nd 4</li>
<li> 2nd 4</li>
<li> 3rd 4</li>
<li> 3rd 4</li>
<li> 3rd 4</li>
<li> 3rd 4</li>
</ul>
べき以前に選択された要素追加された 'className'を保持しますか? n要素が選択されているときに何が起きるでしょうか? – guest271314
ありがとう!前に選択した要素の選択を解除する必要があります。私の場合はクラスを追加することを選択しています。 – vishnu