Есть проблемы с изменением js-объекта. Имеет структуру html. Пример:
myObj.html ='<span class = "first">la-la-la</span>
<span class = "second">la-la-la</span>';
И структура из-за действий пользователя меняется (добавление, удаление элементов):
$(myObj.html).find('.second').remove()
Теоретически это должно помочь. Но я работаю только со строкой (это не настоящий элемент DOM). myObj.html не сохраняет изменения, а .remove () возвращает удаленный элемент. И я хочу, чтобы myObj.html тоже изменился:
myObj.html ='<span class = "first">la-la-la</span>;
Как быть в такой ситуации? (RegExp - не лучшая идея)
Нет-нет-нет ... Наверное, все это из-за моего плохого инглиша :) Крис решил мою проблему.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Возможно, вы можете попробовать следующее, используя createElement() и удалив послесловия элемента:
let myObj ='<span class = "first">la-la-la</span><span class = "second">la-la-la</span>';
let myObjHTMLDiv = document.createElement('div');
myObjHTMLDiv.innerHTML = myObj;
$(myObjHTMLDiv).find('.second').remove();
myObj = myObjHTMLDiv.innerHTML;
delete myObjHTMLDiv;
console.info(myObj);<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>Если вы вызываете .html(myObj.html) для временного элемента, вы можете делать все, что хотите, а затем прочитать его снова:
var myObj = {};
myObj.html ='<span class = "first">la-la-la</span><span class = "second">la-la-la</span>';
$tmp = $("<div>").html(myObj.html);
$tmp.find(".second").remove();
myObj.html = $tmp.html();
console.info(myObj);<script src = "https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>Ооооо! Это реально работает! Не очень красиво, но работает! Крис, ты гений! Спасибо!
не уверен в том, что вы хотите, но предполагая, что у вас просто есть строка с этой структурой, и в ней есть разрыв строки, как кажется, вы можете попробовать что-то вроде:
myObj.html =myObj.html.split('\n')[0];