Проблема в том, что я хочу динамически создавать файл svg с помощью JavaScript. Но при рисовании контура он не отображается на экране (последние 2 ~ 3 часа я ищу проблему) ... И вот оно ... при создании элемента с помощью document.createElement мы получаем <element> </element>. Но элемент пути должен быть создан как пустой элемент - <path .../>.
Так. Как я могу создавать пустые элементы с помощью document.createElement? Или, может быть, я не могу этого сделать с document.createElement и для этого мне нужно использовать JQuery?
let b1b2 = document.createElement('path');
b1b2.setAttribute('d', 'M0 0 L100 100');
b1b2.setAttribute('fill', 'none');
b1b2.setAttribute('stroke', 'red');
b1b2.setAttribute('stroke-width', '5');
<path d = "M0 0 L100 100" fill = "none" stroke = "red" stroke-width = "5"></path>



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


У SVG есть особые требования к пространству имен. Вам нужно использовать document.createElementNS:
document.createElementNS('http://www.w3.org/2000/svg', 'path');
Пример:
let b1b2 = document.createElementNS('http://www.w3.org/2000/svg', 'path');
b1b2.setAttribute('d', 'M0 0 L100 100');
b1b2.setAttribute('fill', 'none');
b1b2.setAttribute('stroke', 'red');
b1b2.setAttribute('stroke-width', '5');
document.getElementById('svg').appendChild(b1b2);<svg id = "svg"></svg>Думаю, вы, наверное, тоже захотите использовать Element.setAttributeNS().
При использовании .createElementNS(...) только на path я получаю ту же проблему. Но. Когда я использую его и на svg, все работает отлично. Спасибо за ваш ответ :)
что не так с тем, что у вас? вам может понадобиться пространство имен svg, чтобы оно отображалось правильно.