Я новичок в D3.js и пытаюсь создать прямоугольники, представляющие все узлы из XML-файла. Пока что так хорошо, но я хочу интерактивность с каждым из прямоугольников, которые я рисую, и иметь возможность захватывать узлы, которые были затронуты для дальнейшей обработки. Итак, допустим, я нажимаю на прямоугольник, я могу заставить его реагировать, делая событие onclick (например, увеличивая размер шрифта), но я не могу получить некоторую информацию. Я хотел бы создать массив с текстом каждого элемента, который был нажат.Получение значения атрибутов SVG в D3.js
Вот код одного экземпляра прямоугольника.
d3.select("#chart")
.append("svg")
.attr("width", 600)
.attr("height", 2000)
.style("background", "#93A1A1")
d3.select("svg")
.append("rect").attr("x", 50)
.attr("y", 25)
.attr("height", 20)
.attr("width", 200)
.attr("title", "resourceDef")
.style("fill", "#CB4B19")
d3.select("svg")
.append("text")
.attr("x", 55)
.attr("y", 37)
.attr("font-size", 11)
.attr("font-family", "sans-serif")
.text("resourceDef")
.on("mouseover", function(d) {
tempText = this.text;
alert(tempText);
d3.select(this)
.attr("font-size", 15)})
.on("mouseout", function(d) {
d3.select(this)
.attr("font-size", 11)})
Я могу получить информацию о стиле, используя, но не заголовок, и я не могу найти эту информацию нигде. Спасибо за вашу помощь, я знаю, что это долгий вопрос, возможно, с простым ответом.
Это сработало отлично, именно то, что мне было нужно, у меня был неправильный синтаксис, чтобы получить атрибут title. Большое спасибо! –
BTW, я проголосовал за то, что я здесь новый, поэтому он будет учитывать только когда я получаю репутацию 15 ... –