Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.11.2016, 08:07
Новичок на форуме
Отправить личное сообщение для Kukolnik Посмотреть профиль Найти все сообщения от Kukolnik
 
Регистрация: 09.11.2016
Сообщений: 2

toggleClass только для родителя
Здравствуйте, В javascript я новичек, в связи с чем у меня не получается реализовать данную задумку. При клике на div c классом button к строке таблицы с классом red добавляется класс green. Да, так все и происходит, вот только добавляется класс сразу к трем строкам, а нужно, что бы только к строке родителя div

$('.button').click(function(){
$('.red').toggleClass('green');

<table>
<tr class="red">
<td><div class="button"></div></td>
</tr>
<tr class="red">
<td><div class="button"></div></td>
</tr>
<tr class="red">
<td><div class="button"></div></td>
</tr>
</table>
Ответить с цитированием
  #2 (permalink)  
Старый 09.11.2016, 08:58
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Kukolnik
а нужно, что бы только к строке родителя div
Родитель у твоего ДИВа ячейка... Т.ч. к "деду" нужно добавлять.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.red {
	color: red;
}
.green {
	color: green;
}
.button {
	width: 10px;
	height: 10px;
	border: 1px solid;
}
</style>
<script type='text/javascript'>
$(function(){
	$('.button').click(function(){
		$(this).parents('.red').toggleClass('green');
	});
});
</script>
</head>
<body>
<table>
	<tr class="red">
		<td><div class="button"></div></td>
	</tr>
	<tr class="red">
		<td><div class="button"></div></td>
	</tr>
	<tr class="red">
		<td><div class="button"></div></td>
	</tr>
</table>
</body>
</html>

P.S.
Начинай делать полные тестовые примеры, а не огрызки...
Ответить с цитированием
  #3 (permalink)  
Старый 10.11.2016, 07:53
Новичок на форуме
Отправить личное сообщение для Kukolnik Посмотреть профиль Найти все сообщения от Kukolnik
 
Регистрация: 09.11.2016
Сообщений: 2

Спасибо, вот только я немного с постановкой задачи ошибся, конструкция на самом деле вот такая, то есть кнопка по которой кликаем находится в своей строке таблицы, а строка таблицы с классом .red которая должна подсвечиваться находится выше

<table>

<tr class="red"><td>текст</td></tr>
<tr><td><div class="button"></div></td></tr>

<tr class="red"><td>текст</td></tr>
<tr><td><div class="button"></div></td></tr>

<tr class="red"><td>текст</td></tr>
<tr><td><div class="button"></div></td></tr>

</table>
Ответить с цитированием
  #4 (permalink)  
Старый 10.11.2016, 08:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Kukolnik,
Пожалуйста, отформатируйте свой код!

Для этого его можно заключить в специальные теги: js/css/html и т.п., например:
[js]
... ваш код...
[/js]


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.
Ответить с цитированием
  #5 (permalink)  
Старый 10.11.2016, 08:20
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,121

Сообщение от Kukolnik
конструкция на самом деле вот такая
Потом будет еще вариант?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.red {
	color: red;
}
.green {
	color: green;
}
.button {
	width: 10px;
	height: 10px;
	border: 1px solid;
}
</style>
<script type='text/javascript'>
$(function(){
	$('.button').click(function(){
		$(this).parent().parent().prev().toggleClass('green');
	});
});
</script>
</head>
<body>
<table>
	<tr class="red"><td>текст</td></tr>
	<tr><td><div class="button"></div></td></tr>
	<tr class="red"><td>текст</td></tr>
	<tr><td><div class="button"></div></td></tr>
	<tr class="red"><td>текст</td></tr>
	<tr><td><div class="button"></div></td></tr>
</table>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 10.11.2016, 08:25
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Kukolnik,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .red {
  color: red;
}
.green td{
  color:  #FFFFFF;
  background-color: green;
  padding: 4px 8px;
}
.button {
  width: 10px;
  height: 10px;
  border: 1px solid;
}

  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  <script>
$(function() {
   var but = $('.button'), red = $('.red');
   but.click(function(){
    var i = but.index(this);
    red.eq(i).toggleClass('green');
  });
});
  </script>
</head>

<body>
<table>

 <tr class="red"><td>текст</td></tr>
 <tr><td><div class="button"></div></td></tr>

 <tr class="red"><td>текст</td></tr>
 <tr><td><div class="button"></div></td></tr>

 <tr class="red"><td>текст</td></tr>
 <tr><td><div class="button"></div></td></tr>

 </table>

</body>
</html>
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery для placeholder работает только для первого input в ie Nailya jQuery 1 13.05.2014 09:57
Изменить стиль внутри элемента с определнным id, только для браузера ie8 ansi_str Общие вопросы Javascript 4 03.05.2012 14:11
Новая система управления сайтом Scripto CMS deepslam Ваши сайты и скрипты 38 31.01.2011 14:55
Не работает AppendChild для div, причём только в IE _Kpot_ Internet Explorer 5 12.02.2009 10:55
JS'ом поменять textDecoration только для случаев link и visited lancer Элементы интерфейса 3 05.04.2008 20:51