Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   выбор блоков по классу (https://javascript.ru/forum/dom-window/40462-vybor-blokov-po-klassu.html)

imediasun1 06.08.2013 22:23

выбор блоков по классу
 
<div id="my_data_btn" class="account_btn"><p>Мои данные</p></div>
	<div id="login_btn" class="account_btn"><p>Логин</p></div>
	<div id="pass_btn" class="account_btn"><p>Пароль</p></div>
	<div id="email_btn" class="account_btn"><p>E-mail</p></div>

Я выбираю один из блоков класса account_btn так
$('.account_btn').click(function(){
$(this).removeClass('account_btn').addClass('account_btn_active');
$('#login_btn,#pass_btn,#email_btn').removeClass('account_btn_active').addClass('account_btn');
});

Как вместо (#login_btn,#pass_btn,#email_btn) написать остальные див блоки в классе .account_btn кроме кликнутого?

рони 06.08.2013 23:32

imediasun1,
2 и 3 строку поменяйте -- может тогда у вас появятся варианты

imediasun1 06.08.2013 23:37

а при чем здесь это, что тогда получится, мне нужно такой селектор который будет обозначать все дивы кроме кликнутого, знаете как это сделать?

рони 06.08.2013 23:57

imediasun1,
а что вариант - всем отменить кликнутому поставить вас неустраивает?

imediasun1 07.08.2013 00:10

$('#my_data_btn').click(function(){
$(this).removeClass('account_btn').addClass('account_btn_active');
$('#login_btn,#pass_btn,#email_btn').removeClass('account_btn_active').addClass('account_btn');

});
$('#login_btn').click(function(){
$(this).removeClass('account_btn').addClass('account_btn_active');
$('#my_data_btn,#pass_btn,#email_btn').removeClass('account_btn_active').addClass('account_btn');

});
$('#pass_btn').click(function(){
$(this).removeClass('account_btn').addClass('account_btn_active');
$('#my_data_btn,#login_btn,#email_btn').removeClass('account_btn_active').addClass('account_btn');

});
$('#email_btn').click(function(){
$(this).removeClass('account_btn').addClass('account_btn_active');
$('#my_data_btn,#login_btn,#pass_btn').removeClass('account_btn_active').addClass('account_btn');

});
это меню, кликнутому блоку присваивается другой класс, все остальные классы если были выбраны до этого должны изменить свой класс на первоначальный, я бы это сделал покороче чем сейчас, но как ума не приложу

рони 07.08.2013 00:17

imediasun1,
я вам написал как это сделать

imediasun1 07.08.2013 00:24

я так и не понял что даст смена позиций кода, если можете напишите код как вы это видите

рони 07.08.2013 00:27

imediasun1,
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">

  <style type="text/css">
   .account_btn{
     background-color: #006400;
   }
   .account_btn_active{
     background-color: #FF0000;
   }
  </style>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script>
$(function() {
var все_хором  = $('.account_btn');
все_хором.click(function(){
все_хором.removeClass('account_btn_active').addClass('account_btn');
$(this).removeClass('account_btn').addClass('account_btn_active');
});
})
</script>

</head>

<body>
    <div id="my_data_btn" class="account_btn"><p>Мои данные</p></div>
	<div id="login_btn" class="account_btn"><p>Логин</p></div>
	<div id="pass_btn" class="account_btn"><p>Пароль</p></div>
	<div id="email_btn" class="account_btn"><p>E-mail</p></div>
</body>

</html>


Часовой пояс GMT +3, время: 03:06.