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