2017-02-05 2 views
0

У меня есть небольшая проблема с jQuery. Я довольно новичок в этом, поэтому я собираюсь объяснить, что я делаю подробно. У меня есть пара h1, которая заполняется последовательными номерами через jQuery.Как отменить выбор элементов в jQuery?

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

var date = 1; 

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

Я могу выбрать отдельные h1 «S с .addClass("selected").

$('.number').click(function() { 
    $(this).toggleClass("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() { 
    // 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

сначала удалить выбранный класс из всех и затем добавить его, который щелкнул.

$('.number').click(function() { 
    $('.number').removeClass("selected"): 
    $(this).addClass("selected"); 
}); 
Смежные вопросы