Ответ 1
Вы можете сами получить элементы DOM из объекта jQuery с помощью .get, а затем выбрать их с помощью селектора d3, как и любой элемент DOM.
d3.select($("#selection").get(0));
У меня проблема с использованием 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?
Вы можете сами получить элементы DOM из объекта jQuery с помощью .get, а затем выбрать их с помощью селектора d3, как и любой элемент DOM.
d3.select($("#selection").get(0));
Вы не можете напрямую конвертировать объекты. Вам нужно повторно выбрать элемент, используя d3js
. Селекторы d3js
работают следующим образом
d3.select("#mydiv")
Итак, просто извлеките id
из элемента jQuery
, например,
d3.select("#" + elem.attr("id")).append("svg").attr("width", 300)...
Конечно, если вы используете только jQuery
для выбора элемента, тогда вы должны переключиться на d3js
.
РЕДАКТИРОВАТЬ: Я предпочитаю ответ Озана выше, используйте это!