Как заменить содержимое (innerSVG?) Из строки SVG - PullRequest
0 голосов
/ 07 февраля 2019

Я не могу получить детей из фрагмента svg, предварительно введенного в строку.Нужно вернуть контент <g> элемент из исходной строки;Пример: has dom:

<svg>
   <g class="parent"> <rect ... /> </g>
<svg>
let strNewContent = '<g class="draggable-group" data-id-device="Light-X[room-1549613406671][0]">   <rect height="75" width="184" x="8" y="0" fill="#DDD" rx="6" ry="6" />  </g>'; // created svg string using handlebars.js
// need replace old content in new content
// need extrude `<rect ... /> & etc...` from string and put (innerSVG) 

$('.parent').html($(strNewContent).html()) // I understand it won't work. (It's just to understand what I mean.)

d3.select(svgElem).html(d3.select(svgElem).html()); // костыль для обновления svg документа

ps: Спасибо за ваше терпение и понимание моего английского

нужно выдавить <rect ... /> & etc... из строки и положить(innerSVG)

Я понимаю, что это можно сделать двумя способами (как я вижу): с помощью регулярного выражения вырезать содержимое или преобразовать его во фрагмент и попытаться выжать содержимое и добавить его.к новому элементу как контенту (помогает @ altocumulus ).Но я действительно уже пытался, много раз конвертировать во фрагмент и выдавливать содержимое, ничего не получается (только сейчас пришло решение, с регулярным выражением) (сейчас буду экспериментировать).

ps: Что лучше всего исправить (название), чтобы каждый мог решить эту проблему?

...