2017-02-05 8 views
0

jQueryに少し問題があります。私はかなり新しいので、私が何をしているのかを詳しく説明します。 私はjQueryを通して連続した数字でいっぱいになるいくつかのh1を持っています。jQueryで項目の選択を解除するにはどうすればよいですか?

<h1 class="number"><span></span></h1> *31 

var date = 1; 

$('.number').each(function() { 
    $(this).find('span').html(date); 
    date++; 
}); 

私は.addClass("selected")と、個々のh1年代を選択することができますよ。

$('.number').click(function() { 
    $(this).toggleClass("selected"); 
}); 

問題は、複数の要素を選択できることです。理想的には、私は1つのアイテムを選択することができ、別のアイテムを選択すると、前のクラスは "が選択された"というクラスを失います。どうすればいい?

$('.number').click(function() { 
    // select the .number elements that have the class .selected and remove it from them 
    $('.number.selected').removeClass('selected'); 

    // add it to this one 
    $(this).addClass("selected"); 
}); 
+0

'unselect' ... – vsync

答えて

1

あなたは、このようにそれを行うことができます。

$('.number').click(function() { 
 
    $(this).toggleClass("selected") 
 
     .siblings('.selected').removeClass("selected"); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><style>h1{margin:0;padding:.5em;font-size:16px;font-family:Arial,Helvetica,sans-serif;border-bottom:1px solid #ddd;cursor:pointer;-webkit-transition:all .15s ease;-moz-transition:all .15s ease;transition:all .15s ease}h1:hover{background:#eee}.selected{background: #555!important; color: #fff}.selected:hover{background: #666!important;}</style> <h1 class="number"><span>1</span></h1><h1 class="number"><span>2</span></h1><h1 class="number"><span>3</span></h1><h1 class="number"><span>4</span></h1><h1 class="number"><span>5</span></h1><h1 class="number"><span>6</span></h1><h1 class="number"><span>7</span></h1><h1 class="number"><span>8</span></h1><h1 class="number"><span>9</span></h1><h1 class="number"><span>10</span></h1><h1 class="number"><span>11</span></h1><h1 class="number"><span>12</span></h1><h1 class="number"><span>13</span></h1><h1 class="number"><span>14</span></h1><h1 class="number"><span>15</span></h1><h1 class="number"><span>16</span></h1><h1 class="number"><span>17</span></h1><h1 class="number"><span>18</span></h1><h1 class="number"><span>19</span></h1><h1 class="number"><span>20</span></h1><h1 class="number"><span>21</span></h1><h1 class="number"><span>22</span></h1><h1 class="number"><span>23</span></h1><h1 class="number"><span>24</span></h1><h1 class="number"><span>25</span></h1><h1 class="number"><span>26</span></h1><h1 class="number"><span>27</span></h1><h1 class="number"><span>28</span></h1><h1 class="number"><span>29</span></h1><h1 class="number"><span>30</span></h1><h1 class="number"><span>31</span></h1>

+0

作品を定義してください!どうもありがとう :) –

0

はこれを試してみてください。

$('.number').click(function() { 
    $('.number').removeClass("selected"): 
    $(this).addClass("selected"); 
}); 
0

まず、すべての選択したクラスを削除してから、クリックされたことを追加します。

関連する問題