Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   remove() jquery (https://javascript.ru/forum/dom-window/52880-remove-jquery.html)

Officeoff.ru 11.01.2015 15:35

remove() jquery
 
Всем доброго времени суток. Возник вопрос.
Есть html код:
<div class='taber visible' id='one'>
<div class='str' style='position: relative;'>
Первая вкладка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='two'>
<div class='str' style='position: relative;'>
Вторая вкладка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='three'>
<div class='str' style='position: relative;'>
Третья вкладка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>


Есть также js код, который удаляет строку или точнее div class='str'.
$('#inner_base').on('click', '.str', function(){
		$(this).closest(".str").hide();
	});


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

danik.js 11.01.2015 16:16

А где тут remove()?
$('.str').remove()

Officeoff.ru 11.01.2015 20:39

Ок. Давайте сделаем $(this).closest(".str").remove();
Это не особо меняет суть вопроса.

danik.js 11.01.2015 20:40

Так предложенный вариант чем не устроил?

Officeoff.ru 12.01.2015 13:52

Ой, забыл написать про это.
Этот вариант не устраивает тем, что он удаляет все div с классом str.
А у меня в одной вкладке, может быть несколько divов таких.
и нужно убрать только одну строку из всех вкладок. Например:
<div class='taber visible' id='one'>
<div class='str' style='position: relative;'>
Первая вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Первая вкладка - вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='two'>
<div class='str' style='position: relative;'>
Вторая вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Вторая вкладка- вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='three'>
<div class='str' style='position: relative;'>
Третья вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Третья вкладка- вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>

Вот и мне например нужно удалить вторую строку из всех 3 вкладок.
Видимо не правильно поставил вопрос изначально...

рони 12.01.2015 14:05

Officeoff.ru,
$(".str:odd").remove()

Officeoff.ru 12.01.2015 16:57

Цитата:

Сообщение от рони (Сообщение 351009)
Officeoff.ru,
$(".str:odd").remove()

Не логично. 3 вкладки, значит в строке есть как четные так и нечетные элементы...

рони 12.01.2015 16:59

Цитата:

Сообщение от Officeoff.ru
Вот и мне например нужно удалить вторую строку из всех 3 вкладок.

:-?
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function() {
    $(".str:odd").remove()
});
  </script>
</head>

<body>
<div class='taber visible' id='one'>
<div class='str' style='position: relative;'>
Первая вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Первая вкладка - вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='two'>
<div class='str' style='position: relative;'>
Вторая вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Вторая вкладка- вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='three'>
<div class='str' style='position: relative;'>
Третья вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Третья вкладка- вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>


</body>

</html>

рони 12.01.2015 17:03

Officeoff.ru,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">

  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
  <script>
     $(function() {
    $(".str:eq(1)", ".taber").remove()
});
  </script>
</head>

<body>
<div class='taber visible' id='one'>
<div class='str' style='position: relative;'>
Первая вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Первая вкладка - вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='two'>
<div class='str' style='position: relative;'>
Вторая вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Вторая вкладка- вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>
<div class='taber' id='three'>
<div class='str' style='position: relative;'>
Третья вкладка - Первая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
<div class='str' style='position: relative;'>
Третья вкладка- вторая строка
	<div class='dop_str'>
		<div class='del_base'></div>
	</div>
</div>
</div>


</body>

</html>

Officeoff.ru 13.01.2015 17:48

Странно. У меня почему-то первый вариант сначала не сработал.. Наверное руки кривые ))) Спасибо.
А если мне нужно удалить конкретную строку из 3 вкладок по клику, то это как будет? Не могу сообразить?
$('#inner_base').on('click', '.str', function() {
	$(this).hide(); // Так удаляю нужную строку только из одной вкладки
	$(".str:eq(1)", ".taber").remove(); // Так со всех вкладок, но только вторую в списке
});


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