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 15.01.2015 13:20

Ну немного неправильно сверстал, поэтому не совсем то что нужно убирает. Но суть ясна )))
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
	$('#inner_base').on('click', '.del_base', function() {
		var i = $('.del_base',this.closest).index(this);
		$(".str:eq("+i+")", ".taber").hide();
	});
});
</script>
</head>
<body>
<div id='inner_base'>
	<div class='taber' style='border: 1px solid red;'>
		<div class='str'>
			Строка 1 - Вкладка 1
			<div class='dop_str'>
				<div class='del_base'>del</div>
			</div>
		</div>
		<div class='str'>
			Строка 1 - Вкладка 2
		</div>
	</div>
	<br>
	<div class='taber' style='border: 1px solid red;'>
		<div class='str'>
			Строка 2 - Вкладка 1
			<div class='dop_str'>
				<div class='del_base'>del</div>
			</div>
		</div>
		<div class='str'>
			Строка 2 - Вкладка 2
		</div>
	</div>
</div>
</body>
</html>

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

рони 15.01.2015 13:37

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

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


О том, как вставить в сообщение исполняемый javascript и html-код, а также о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

Officeoff.ru 15.01.2015 14:04

Прикольно. Спасибо.

рони 15.01.2015 14:21

Officeoff.ru,
попробуйте разобраться сами что ваш код НЕРАБОЧИЙ :cray:

рони 15.01.2015 14:33

Officeoff.ru, жмите по второй вкладке и смотрите результат у себя и тут (нет this.closest - это вас jquery вас спасает, она офигевает от undefined, но пытается выдать результат)
рабочий код ... :write:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js"></script>
<script>
$(document).ready(function() {
	$('#inner_base').on('click', '.del_base', function() {
		var i = $(".str",$(this).closest(".taber")).index($(this).closest(".str"));
		$(".str:eq("+i+")", ".taber").hide();
	});
});
</script>
</head>
<body>
<div id='inner_base'>
	<div class='taber' style='border: 1px solid red;'>
		<div class='str'>
			Строка 1 - Вкладка 1
			<div class='dop_str'>
				<div class='del_base'>del</div>
			</div>
		</div>
        <div class='str'>
			Строка 2 - Вкладка 1
			<div class='dop_str'>
				<div class='del_base'>del</div>
			</div>
		</div>
		<div class='str'>
			Строка 3 - Вкладка 1
		</div>
	</div>
	<br>
	<div class='taber' style='border: 1px solid red;'>
		<div class='str'>
			Строка 1 - Вкладка 2
			<div class='dop_str'>
				<div class='del_base'>del</div>
			</div>
		</div>
        <div class='str'>
			Строка 2 - Вкладка 2
			<div class='dop_str'>
				<div class='del_base'>del</div>
			</div>
		</div>
		<div class='str'>
			Строка 3 - Вкладка 2
		</div>
	</div>
</div>
</body>
</html>

Officeoff.ru 15.01.2015 16:36

Добрый, jquery ))))
Да, видимо действительно так )))
Но у меня реально работает )))

Officeoff.ru 15.01.2015 16:38

Я в личку отправил доступ, посмотрите )))
А ваш код проверил, да он работает. Видимо jquery, как html на некоторые вещи забивает и выручает, чтобы работало

рони 15.01.2015 17:21

Officeoff.ru,
вы понять попробуйте -- у вас удаление работает только на 1 вкладке -- для этого даже this.closest ненужен -- вы что хотите напишите -- лишьбы этого значения небыло -- ваш код несработает для клика по любой другой вкладке кроме 1

рони 15.01.2015 17:28

Officeoff.ru, на пальцах
2 вкладки 4 строки -- жмём на каждую строку смотрим i
ваш код
0 1 2 3 4 5 6 7
мой код
0 1 2 3 0 1 2 3

Officeoff.ru 16.01.2015 11:02

Так я вот и пытаюсь понять.
Такой момент, я хотел при нажатии на del_base, который есть только в первой вкладке, удаляется строка из 3-х вкладок.

Ваш вариант, написанный выше, естественно лучше. Я с этим не спорю. Просто не понимаю, почему this.closest, все равно удалял строку из 3-х вкладок.
Я вечером, обязательно посижу, изучу эту тему, чтобы потом не задавать подобные тупые вопросы. Спасибо вам за помощь.


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