Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 15.01.2011
Сообщений: 97
1

Удаление из переменной в виде HTML

06.06.2018, 17:27. Показов 555. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет, вроде знаю что ищу, но не могу сформировать запрос поиска для нужной информации.

Проблема такова:
1) Получаю ajax запросом код html
2) Как из этого html удалить объекты с определенным ID

Javascript
1
2
3
4
5
obj = jQuery.parseJSON( result );
obj.html //тут приходит код html в виде строк TR для таблицы
 
//как удалить из obj.html определенные строки TR с уникальными ID, ID уже известны
obj.html = obj.html.html().remove('#'+mas_id[i]);// попытка глупая)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.06.2018, 17:27
Ответы с готовыми решениями:

Возможно ли использовать имя переменной в виде переменной?
Skazite, est' li vozmoznost ispolzovat imja peremennoi v vvide peremennoi? primer: New = 'FIFO'...

Можно ли отобразить html код в виде html?
Можно как-то добавить отображениe html кода в виде html?чтоб не видно было тэгов

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

Инициализация переменной в двоичном виде
Добрый день. Возникла необходимость инициализировать переменную в двоичке Мои варианты: ...

6
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
07.06.2018, 04:07 2
удаляет тег <td></td> с id="myid" со всеми атрибутами и содержимым
Javascript
1
2
3
4
let str = '<table><td>text1</td><td id="abc">text2</td><td id="abc1">text3</td><td width="200px" height="50px" id="myid">text4</td><td id="abc2">text5</td></table>';
let reg = /<td[\w"\s=\']*?id="myid">.*?<\/td>/i;
let newStr = str.replace(reg, '');
console.log(newStr);
или функция
Javascript
1
2
3
4
5
let delTagForID = (str, nameID) => {
    let reg = new RegExp('<td[\\w"\\s=\']*?id="' + nameID + '">.*?<\/td>', 'i');
    return str.replace(reg, '');
}
console.log(delTagForID(str, 'abc1'));
0
0 / 0 / 1
Регистрация: 15.01.2011
Сообщений: 97
07.06.2018, 08:01  [ТС] 3
Пробую, не удаляет

Javascript
1
2
3
4
let obj = '<tr onclick="window.open(&quot;/game/47341&quot;);" id="47341"><td class="text-truncate " style="font-weight:600">ctvtyctvty</td><td class="text-truncate success" style="font-weight:600">581050</td><td class="text-truncate " style="font-weight:600">0-799999</td><td class="text-truncate " style="font-weight:600">1.00 C</td><td class="text-xs-center font-small-2"><span><progress style="margin-top:8px" class="progress progress-sm progress-success mb-0" value="80" max="100"></progress></span></td><td class="text-truncate success" style="font-weight:600">1.25 C</td></tr><tr onclick="window.open(&quot;/game/47341&quot;);" id="47342"><td class="text-truncate " style="font-weight:600">ctvtyctvty</td><td class="text-truncate success" style="font-weight:600">581050</td><td class="text-truncate " style="font-weight:600">0-799999</td><td class="text-truncate " style="font-weight:600">1.00 C</td><td class="text-xs-center font-small-2"><span><progress style="margin-top:8px" class="progress progress-sm progress-success mb-0" value="80" max="100"></progress></span></td><td class="text-truncate success" style="font-weight:600">1.25 C</td></tr>';
let reg = /<tr[\w"\s=\']*?id="47341">.*?<\/tr>/i;
obj = obj.replace(reg, '');
console.log(obj);
Так тоже не удаляет
Javascript
1
2
3
let reg = new RegExp('<tr[\\w"\\s=\']*?id="47341">.*?<\/tr>', 'i');
obj = obj.replace(reg, '');
console.log(obj);
0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
07.06.2018, 10:25 4
Цитата Сообщение от igorek1991 Посмотреть сообщение
не удаляет
этот тег содержит в себе другие теги,тогда требуется другая регулярка
Javascript
1
let reg = /<tr.*?id="47341">.*?<\/tr>/i;
0
0 / 0 / 1
Регистрация: 15.01.2011
Сообщений: 97
07.06.2018, 11:19  [ТС] 5
Благодарю, заработало)
Сложные эти регулярки для меня
0
566 / 465 / 183
Регистрация: 14.10.2017
Сообщений: 1,259
07.06.2018, 11:38 6
последний вариант не всегда будет корректно работать.
вот получше вариант,более универсальный
Javascript
1
2
3
4
5
6
7
8
9
10
let str = '<table><td>text1</td><td id="abc">text2</td><td width="200px" height="50px" id="abc1">text3</td><td width="200px" height="50px" id="myid">text4</td><td id="abc2">text5</td></table>';
let delTagByID = (str, tagName, nameID) => { //str - строка, tagName - имя тега(обязательно в кавычках), nameID - идентификатор,тоже в кавычках
    let reg = new RegExp('<\s*?' + tagName + '[^<>]*?id="' + nameID + '"[^<>]*?>.*?<\/' + tagName + '>', 'i');
    return str.replace(reg, '');
}
console.log(delTagByID(str, 'td', 'abc1'));
 
let str1 = '<tr onclick="window.open(&quot;/game/47341&quot;);" id="47341"><td class="text-truncate " style="font-weight:600">ctvtyctvty</td><td class="text-truncate success" style="font-weight:600">581050</td><td class="text-truncate " style="font-weight:600">0-799999</td><td class="text-truncate " style="font-weight:600">1.00 C</td><td class="text-xs-center font-small-2"><span><progress style="margin-top:8px" class="progress progress-sm progress-success mb-0" value="80" max="100"></progress></span></td><td class="text-truncate success" style="font-weight:600">1.25 C</td></tr><tr onclick="window.open(&quot;/game/47341&quot;);" id="47342"><td class="text-truncate " style="font-weight:600">ctvtyctvty</td><td class="text-truncate success" style="font-weight:600">581050</td><td class="text-truncate " style="font-weight:600">0-799999</td><td class="text-truncate " style="font-weight:600">1.00 C</td><td class="text-xs-center font-small-2"><span><progress style="margin-top:8px" class="progress progress-sm progress-success mb-0" value="80" max="100"></progress></span></td><td class="text-truncate success" style="font-weight:600">1.25 C</td></tr>';
 
console.log(delTagByID(str1, 'tr', '47341'));
0
6219 / 2467 / 725
Регистрация: 11.04.2015
Сообщений: 3,987
Записей в блоге: 43
07.06.2018, 12:00 7
Цитата Сообщение от igorek1991 Посмотреть сообщение
Сложные эти регулярки для меня
Так можно и без регулярок
HTML5
1
<table id="tbl"></table>
Javascript
1
2
3
4
5
6
        let obj = '<tr onclick="window.open(&quot;/game/47341&quot;);" id="47341"><td class="text-truncate " style="font-weight:600">ctvtyctvty</td><td class="text-truncate success" style="font-weight:600">581050</td><td class="text-truncate " style="font-weight:600">0-799999</td><td class="text-truncate " style="font-weight:600">1.00 C</td><td class="text-xs-center font-small-2"><span><progress style="margin-top:8px" class="progress progress-sm progress-success mb-0" value="80" max="100"></progress></span></td><td class="text-truncate success" style="font-weight:600">1.25 C</td></tr><tr onclick="window.open(&quot;/game/47341&quot;);" id="47342"><td class="text-truncate " style="font-weight:600">ctvtyctvty</td><td class="text-truncate success" style="font-weight:600">581050</td><td class="text-truncate " style="font-weight:600">0-799999</td><td class="text-truncate " style="font-weight:600">1.00 C</td><td class="text-xs-center font-small-2"><span><progress style="margin-top:8px" class="progress progress-sm progress-success mb-0" value="80" max="100"></progress></span></td><td class="text-truncate success" style="font-weight:600">1.25 C</td></tr>';
        let tb = document.createElement("tbody");
        tb.innerHTML = obj;
        tb.removeChild(tb.querySelector("[id='47341']"));
        let tbl = document.getElementById("tbl");
        tbl.appendChild(tb);
0
07.06.2018, 12:00
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2018, 12:00
Помогаю со студенческими работами здесь

Qt не выводит текст в виде переменной
Мой проект qt не не выводит в label и pushButton переменные типа QString с помощью setText()....

Страницы в html-виде
Доброго времени суток! Как можно на php получить html-вид страницы, которую вернул сервер? Ну...

Присваивание переменной значения в виде буквы
Добрый день!Стоит задача присвоить переменной значение в виде случайной буквы.Как это реализовать?

Задать значение переменной в двоичном виде
int i = 0x4F; можно как-то записать в двоичном виде ? Н-р int i = 01010111b;


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru