Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 19.05.2021, 11:49
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

repz,
вы что-то не договариваите ... сделана задержка удаления для наглядности
<!DOCTYPE html>

<html>
<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
   .test td{
        border: 1px solid red;
    }

    </style>

</head>

<body>
<table>
    <tbody>
        <tr></tr>
        <tr>
            <td> <-Вот этот удаляется, а не хотелось бы.
                <div>
                    <form>
                        <div>
                            <div>
                                <div>
                                    <div>
                                        <table>
                                            <tbody>
                                                <tr>
                                                    <td></td>
                                                    <td>
                                                        <table>
                                                            <tbody>
                                                                <tr class="test">
                                                                    <td>
                                                                        <input name="" value="" size="30" type="text"><br>
                                                                    </td>
                                                                </tr>
                                                            </tbody>
                                                        </table>
                                                    </td>
                                                </tr>

                                                <tr>
                                                    <td></td>
                                                    <td>
                                                        <select name="" size="1">
                                                            <option value="" selected="">(нет)</option>
                                                            <option value="">123</option>
                                                        </select>
                                                    </td>
                                                </tr>
                                            </tbody>
                                        </table>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </form>
                </div>
            </td>
        </tr>
    </tbody>
</table>

 <script>
var elems = document.querySelectorAll('input[value=""]');
window.setTimeout(_ => elems.forEach(input => input.closest('tr:last-child').remove()), 3000);
 </script>
</body>
</html>
Ответить с цитированием
  #12 (permalink)  
Старый 19.05.2021, 12:13
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

) Честно, я вижу, что код работает и работает на jsf..., запускаю в браузере последний код там ошибка, если его же без "last-child", то удаляет <TR> второй в разметке и вместе с ним все.

Искал может есть какие-то input скрытые с value="" - не нашел.


Последний раз редактировалось repz, 19.05.2021 в 12:17.
Ответить с цитированием
  #13 (permalink)  
Старый 19.05.2021, 15:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

repz,
может в структуре html ошибки?
а так?
var elems = document.querySelectorAll('tr input[value=""]');
elems.forEach(input => input.closest('tr:last-child').remove());
Ответить с цитированием
  #14 (permalink)  
Старый 19.05.2021, 16:16
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

Да, вроде нет и в отбор попадает то. что нужно удалить.
Но по факту почему-то сносится еще и нужный <tr>.
Вот прогнал на соответствие и нет это <tr> в найденом, а почему сносит не знаю.



Вот структура так если бы все было на месте:
<table>
	<tbody>
		<tr></tr>
		<tr>             <-Вот этот удаляется, а не хотелось бы.
			<td>
				<div>
					<form>
						<div>
							<div>
								<div>
									<div>
										<table>
											<tbody>
												<tr>
													<td></td>
													<td>
														<table>
															<tbody>
																<tr>
																	<td>
<tr id="tr_ACTIVE_FROM">
		<td></td>
		<td>
	<div>
		<input  type="text" name="ACTIVE_FROM" size="22" value="">
		<span></span>
	</div></td>
</tr>

<tr id="tr_ACTIVE_TO">
		<td></td>
		<td>
	<div>
		<input type="text" name="ACTIVE_TO" size="22" value="">
		<span ></span>
	</div></td>
</tr>
																	</td>
																</tr>
															</tbody>
														</table>
													</td>
												</tr>

												<tr>
													<td></td>
													<td>
														<select name="" size="1">
															<option value="" selected="">(нет)</option>
															<option value="">123</option>
														</select>
													</td>
												</tr>
											</tbody>
										</table>
									</div>
								</div>
							</div>
						</div>
					</form>
				</div>
			</td>
		</tr>
	</tbody>
</table>

Последний раз редактировалось repz, 19.05.2021 в 16:26.
Ответить с цитированием
  #15 (permalink)  
Старый 19.05.2021, 16:22
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

repz,
код пробовали из #13?
Ответить с цитированием
  #16 (permalink)  
Старый 19.05.2021, 16:30
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

Да, он не заводится, как и предыдущий.

Ответить с цитированием
  #17 (permalink)  
Старый 19.05.2021, 16:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

repz,
могу только гадать, что у вас и как ...
Ответить с цитированием
  #18 (permalink)  
Старый 19.05.2021, 16:53
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

Да все стандартно, вот еще заметил забавный глюк:



То есть если
console.log(el.closest('[id*="tr_PROPERTY_"]'))

то ловит все как надо, а если
el.closest('[id*="tr_PROPERTY_"]').remove()

то ошибка и не выполняется
Ответить с цитированием
  #19 (permalink)  
Старый 19.05.2021, 17:03
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

Не стал редактировать предыдущее.
Ругается на remove значит не может найти что удалить, т.е. в предыдущем underfined.
И вот что нашел:


после выполнения
var elems = document.querySelectorAll('input[value=""]');if (elems.length > 0) {
[].forEach.call(elems, function (el) {console.log(el.closest('[id*="tr_PROPERTY_"]'))
});}


Может это как-то поможет.
И еще вопрос, откуда там null вообще?

Последний раз редактировалось repz, 19.05.2021 в 17:12.
Ответить с цитированием
  #20 (permalink)  
Старый 19.05.2021, 17:40
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от repz
откуда там null вообще?
tr не обнаружено в предках
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить текст в поле input и записать его в value? firsmember Элементы интерфейса 26 17.04.2022 19:33
Получить все значения javascript обьекта! imult87 Общие вопросы Javascript 8 17.03.2017 13:37
Динамическое копирование значения из input в input с одинаковыми атрибутами name ami_moor jQuery 2 10.08.2016 17:02
Удаление значение в поле input file – в коллекции files все равно содержится файл. artur567 Events/DOM/Window 1 08.05.2016 18:00
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37