Разница между append ( "svg: g" ) и append ( "g" )

Я работаю над проектом d3js, и я видел некоторый учебник с append("g") и другими с append("svg:g"), не получая разницу между ними.

Ответ 1

В самые ранние дни D3 вам нужно было использовать синтаксис svg:g из-за того, как элементы SVG добавляются в DOM. Более поздние версии D3 не требуют этих "подсказок" для вставки элементов SVG, поэтому правильный способ сделать это теперь будет с простым g.


Технические подробности этого довольно скучные, SVG требует пространства имен, поэтому, когда вы вставляете или управляете элементами SVG, вы используете document.createElementNS('a', "http://www.w3.org/2000/svg) белый простой HTML использует document.createElement('a'). Поскольку D3 может манипулировать как SVG, так и HTML d3.append('svg:a'), это способ сказать, что это привязка SVG.

Ответ 2

Я получил ответ на d3js API, вопрос о пространстве имен. В svg: g, svg - пространство имен (необязательно). Моя ошибка, извините, я должен лучше читать API