JavaScript найти идентификатор div в строке и удалить весь div - PullRequest
0 голосов
/ 13 октября 2018

У меня есть строка с некоторым HTML-кодом DOM, внутри которого находится div со статическим id = "myId", у которого нет innerHTML, но установлено динамическое значение ширины.

пример:

myString = "<div class="class">blahblah</div><div id="myId" width="42.584px"></div>"

Как я могу создать новую идентичную строку, обрезав все <div id="myId" width="42.584px"></div>?Проблема в том, что значение width="" постоянно меняется, поэтому я не могу сделать .replace.

РЕДАКТИРОВАТЬ: HTML, сохраненный в строке, выглядит примерно так (ичисло делений может варьироваться, но, очевидно, только один имеет упомянутое myId деление):

<div id="firstId"></div>
<div id="div0" class="div-class">
<span class="" onclick="clickFunctionTwo()">text div 0</span>
<span class="" id="fasdf"></span>
<span id="btnClose"><img src="close.svg" class="" onclick="clickFunction()"></span>
<div id="myId" class="" style="width: 59.5312px;"></div>
</div>
<div id="div1" class="div-class">
<span class="" onclick="clickFunctionTwo()">text div 1</span>
<span class="" id="eyuacv"></span>
<span id="btnClose"><img src="close.svg" class="" onclick="clickFunction()"></span>
</div>
<div contenteditable="true" id="lastId" style="height:18px;" onkeydown="myFunction()"></div>

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Может быть, вы можете попытаться создать эту строку другим способом, например:

var myArray = [
  "<div class="class">blahblah</div>",
  "<div id="myId" width="42.584px"></div>"
]

И вы можете построить строку с помощью:

var myString = myArray.join("")

И внести изменения в myArray [0 ... п].Таким образом, удаление одной позиции массива похоже на удаление div.

0 голосов
/ 13 октября 2018

Вы можете создать элемент jQuery из этой строки, удалить #myID div и получить новый HTML:

var myString = `
  <div id="firstId"></div>
  <div id="div0" class="div-class">
    <span class="" onclick="clickFunctionTwo()">text div 0</span>
    <span class="" id="fasdf"></span>
    <span id="btnClose"><img src="close.svg" class="" onclick="clickFunction()"></span>
    <div id="myId" class="" style="width: 59.5312px;"></div>
  </div>
  <div id="div1" class="div-class">
    <span class="" onclick="clickFunctionTwo()">text div 1</span>
    <span class="" id="eyuacv"></span>
    <span id="btnClose"><img src="close.svg" class="" onclick="clickFunction()"></span>
  </div>
  <div contenteditable="true" id="lastId" style="height:18px;" onkeydown="myFunction()"></div>`;

var myNewString = $('<div>').append(myString).find('#myId').remove().end().html();

console.log(myNewString);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...