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

рони 13.01.2015 17:51

Officeoff.ru,
узнайте индекс того что удаляите и запишите в eq
$('#inner_base').on('click', '.str', function() {
    var i = $('.str',this.parentNode).index(this);
	$(".str:eq("+i+")", ".taber").remove();
});

Officeoff.ru 14.01.2015 11:23

рони, огромное спасибо.
не особо понял this.parentNode, но вечером обязательно посижу почитаю про него.

рони 14.01.2015 11:40

Цитата:

Сообщение от Officeoff.ru
не особо понял this.parentNode

находим родителя(parentNode) кликнутой строки -- в этом родителе все строки с классом str -- идём по порядку по этим строкам -- встретилась кликнутая сохранили её номер (index)

Officeoff.ru 14.01.2015 14:57

Ага, вроде понял. Но потом столкнулся с проблемой, что клик у меня должен идти по классу dop_str. Ведь в str находятся input.
Ну и почему то при замене класса работать не стало...
То есть сначала я написал:

$('#inner_base').on('click', '.dop_str', function() {
    var i = $('.str',this.parentNode).index(this);
	$(".str:eq("+i+")", ".taber").remove();
});

И не работало... То есть индекс определялся не верно. Переписал вот так:
$('#inner_base').on('click', '.dop_str', function() {
	var i = $('.dop_str',this.closest).index(this);
	$(".str:eq("+i+")", ".taber").hide();
	});

Возможно, надо было использовать parent()... Но остановился на closest.

рони 14.01.2015 15:23

Цитата:

Сообщение от Officeoff.ru
this.closest

и это у вас работает?

Officeoff.ru 14.01.2015 23:18

Рони, мне тоже показалось это бредовым сначала... Но как выяснилось это работает ))))

рони 14.01.2015 23:35

Цитата:

Сообщение от Officeoff.ru
Но как выяснилось это работает ))))

может подскажите где можно прочитать про это волшебное свойство

рони 14.01.2015 23:38

Officeoff.ru,
:-?
<!DOCTYPE HTML>
<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
</head>

<body>
<input name="" type="button" value="test" onclick="alert(this.closest)">
<input name="" type="button" value="test" onclick="alert(this.closest)">
</body>

</html>

Officeoff.ru 15.01.2015 11:36

Ну мы же знаем про свойство closest();
http://jquery.page2page.ru/index.php...%D0%BE%D0% BA
Тут описано...
И логично было написать closest(this) а не this.closest
Но как это смешно не звучит, это работает... Могу вам даже скинуть доступ, увидите что это реально работает )))

рони 15.01.2015 12:51

Officeoff.ru,
сделайте макет всего несколько строк чтоб мир ахнул :)


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