D3.js: добавление класса, имя которого основано на данных ⇐ CSS
-
Anonymous
D3.js: добавление класса, имя которого основано на данных
В D3 есть два способа установки класса:
selection.attr("class", (d) => d.isFoo ? "foo" : ""); select.classed("foo", (d) => d.isFoo) Я ищу способ добавить класс с именем в соответствии с данными. Т.е. что-то вроде:
selection.classed((d) => "node" + d.id, true); [*]Я не хочу использовать id, потому что этот класс будет использоваться несколькими элементами DOM. [*]Я не хочу использовать attr, потому что он потенциально может перезаписать уже существующие классы. Чтобы я мог сделать
selection.attr("class", (d) => d3.select(this).attr("class") + " node" + d.id); это кажется немного хакерским.
Есть ли лучшее решение? Или новая функция находится в разработке?
В D3 есть два способа установки класса:
selection.attr("class", (d) => d.isFoo ? "foo" : ""); select.classed("foo", (d) => d.isFoo) Я ищу способ добавить класс с именем в соответствии с данными. Т.е. что-то вроде:
selection.classed((d) => "node" + d.id, true); [*]Я не хочу использовать id, потому что этот класс будет использоваться несколькими элементами DOM. [*]Я не хочу использовать attr, потому что он потенциально может перезаписать уже существующие классы. Чтобы я мог сделать
selection.attr("class", (d) => d3.select(this).attr("class") + " node" + d.id); это кажется немного хакерским.
Есть ли лучшее решение? Или новая функция находится в разработке?
Мобильная версия