2016-02-13 5 views
0

Я новичок в jQuery.Изменить цвет фона div после нажатия

Как изменить цвет фона div.card-header, когда я нажимаю кнопку (.selectBtn)?

У меня есть несколько коробок, подобных этому.

<div class="col-md-4"> 
    <div class="card bordered"> 
    <div class="card-header"> <span class="card-title">Item 1</span> </div> 
    <div class="card-content"> 
     <p>Lorem ipsum...</p> 
    </div> 
    <div class="card-action clearfix"> 
     <div class="pull-right"> <a href="#" class="btn btn-link black-text selectBtn">Select</a> </div> 
    </div> 
    </div> 
</div> 

Что я пробовал:

<script charset="utf-8"> 
    $(document).ready(function() { 
    $('.selectBtn').click(function(event) { 
     // alert alert-danger 
     event.preventDefault(); 
     $(this).find('.card-header').css('background-color', 'red'); 
    }); 
    }); 
</script> 

ответ

0

.card-header не вспомогательный элемент (ребенок) из .selectBtn, это больше похоже на дядю. Итак, вам нужно перевернуть его полностью, переместившись на него parent, а затем найдите соответствующий sibling.

$('.selectBtn').click(function(event) { 
    event.preventDefault(); 
    $(this).closest('.card-action') // selects the parent .card-action of .selectBtn, you can use .parent() too for that 
    .siblings('.card-header').css('background-color', 'red'); // selects the sibling .card-header of .card-action 
}); 

Пример: https://jsfiddle.net/DinoMyte/71hgeqnb/12/

+0

Угу. Не выглядел достаточно близко. Исправлено. Спасибо что подметил это. – DinoMyte

+0

В своем сообщении я упомянул, что у меня есть несколько ящиков, и ваш код действительно выбирает все из них: https://jsfiddle.net/71hgeqnb/10/. Благодарю. –

+0

@ J.Doe: Обновленный ответ – DinoMyte

0

и может это сделать,

добавить OnClick по ссылке и создать функцию, которая вызывает его <a href="#" class="btn btn-link black-text selectBtn" onclick="ChangeColor();">Select</a>

function ChangeColor(){ $('.card-header').css('background-color', 'red'); }

0
<!DOCTYPE html> 
<html> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> 
<script charset="utf-8"> 
    $(document).ready(function() { 
    $('.selectBtn').click(function(event) { 
     // alert alert-danger 
     event.preventDefault(); 
     $('.card-header').css('background-color', 'red'); 
    }); 
    }); 
</script> 

<body> 

<div class="col-md-4"> 
    <div class="card bordered"> 
    <div class="card-header"> <span class="card-title">Item 1</span> </div> 
    <div class="card-content"> 
     <p>Lorem ipsum...</p> 
    </div> 
    <div class="card-action clearfix"> 
     <div class="pull-right"> <a href="#" class="btn btn-link black-text selectBtn">Select</a> </div> 
    </div> 
    </div> 
</div> 

</body> 
</html> 
Смежные вопросы