Javascript.RU

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

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

Да, так удаляются, но не все, например:

<tr id="tr_ACTIVE_FROM">


        <td>

    <div>

        <input  type="text" name="ACTIVE_FROM" size="22" value="">

        <span></span>

    </div></td>

</tr>


Вот этот вообще не удаляется, а те что удалились
имели структуру

<tr id="tr_PROPERTY">
			<td></td>
			<td>               ----------вот до этого места
<table >
<tbody>
<tr>
<td>
<input value="" size="30" type="text">
<br>
</td>
</tr>
</tbody>
</table>
</td>
		</tr>
Ответить с цитированием
  #23 (permalink)  
Старый 19.05.2021, 17:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

repz,
)))
var elems = document.querySelectorAll('tr>td>input[value=""]');
elems.forEach(input => {
var tr = input.parentNode.parentNode;
if(tr.tagName == 'TR' && tr.parentNode) tr.parentNode.removeChild(tr)
});
Ответить с цитированием
  #24 (permalink)  
Старый 19.05.2021, 17:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

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

рони,
Да. удалилось еще больше input, осталось правда этих два:

<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>


А так все по прежнему, всмысле, все уже не удаляется, но и полностью строка тоже.
Ответить с цитированием
  #26 (permalink)  
Старый 19.05.2021, 18:05
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

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 id="tr_ACTIVE_FROM">
                <td>
                    <div>
                        <input type="text" name="ACTIVE_FROM" size="22" value="">
                        <span></span>
                    </div>
                </td>
            </tr>
            <tr id="tr_PROPERTY">
                <td></td>
                <td> ----------вот до этого места
                    <table>
                        <tbody>
                            <tr>
                                <td>
                                    <input value="" size="30" type="text">
                                    <br>
                                </td>
                            </tr>
                        </tbody>
                    </table>
                </td>
            </tr>
        </tbody>
    </table>
    <script>
        var elems = document.querySelectorAll('input[value=""]');
        elems.forEach(input => {
            while (input = input.parentNode) {
                if (input.tagName == 'TR' && input.parentNode) {
                    input.parentNode.removeChild(input);
                    break;
                }
            }
        });
    </script>
</body>
</html>
Ответить с цитированием
  #27 (permalink)  
Старый 20.05.2021, 07:55
Аспирант
Отправить личное сообщение для repz Посмотреть профиль Найти все сообщения от repz
 
Регистрация: 01.12.2014
Сообщений: 59

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

Спасибо огромное за помощь.

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

Пришла мысль, заметил, что после выполнения:
var elems = document.querySelectorAll('tr>td>input[value=""]');
elems.forEach(input => {
var tr = input.parentNode.parentNode;
if(tr.tagName == 'TR' && tr.parentNode) tr.parentNode.removeChild(tr)
});


Остается:
<tr>--------------------удалить вот это, если
			<td></td>
			<td>
                           <table>
                             <tbody>---------вот тут ничего нет
                             </tbody>
                           </table>
                        </td>
</tr>

Мб имеет смысл в два этапа, первый, что выше и второй найти все пустые <tbody> -? добраться до tr и удалить его.
Что-то типа
var elems = document.querySelectorAll('table>tbody').length == 0; 
[].forEach.call(elems, function (el) {console.log("find");
});

Последний раз редактировалось repz, 20.05.2021 в 09:00.
Ответить с цитированием
  #29 (permalink)  
Старый 20.05.2021, 09:09
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

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

рони,
Конечно, тоже все сносит.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как перетащить текст в поле 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