Как преобразовать объект jQuery в объект d3?

У меня проблема с использованием jQuery вместе с D3js.

У меня есть элемент jQuery с именем "elem", и я хочу выполнить некоторые функции D3js.

Этот код работает:

d3.select("body").append("svg").attr("width", 300).attr("height", 300).append("g").attr("transform", "translate(150,150)").selectAll("text").data(words).enter().append("text")......

Этот код не

elem.append("svg").attr("width", 300).attr("height", 300).append("g").attr("transform", "translate(150,150)").selectAll("text").data(words).enter().append("text")......

Итак, как преобразовать объект jQuery в объект D3?

Ответы

Ответ 1

Вы можете сами получить элементы DOM из объекта jQuery с помощью .get, а затем выбрать их с помощью селектора d3, как и любой элемент DOM.

d3.select($("#selection").get(0));

Ответ 2

Вы не можете напрямую конвертировать объекты. Вам нужно повторно выбрать элемент, используя d3js. Селекторы d3js работают следующим образом

d3.select("#mydiv")

Итак, просто извлеките id из элемента jQuery, например,

d3.select("#" + elem.attr("id")).append("svg").attr("width", 300)... 

Конечно, если вы используете только jQuery для выбора элемента, тогда вы должны переключиться на d3js.

РЕДАКТИРОВАТЬ: Я предпочитаю ответ Озана выше, используйте это!