【问题标题】:On hover get value inside <text></text> element in D3js在 D3js 中的 <text></text> 元素内悬停获取值
【发布时间】:2016-10-12 11:02:03
【问题描述】:

我已经实现了一个功能,如果用户将鼠标悬停在饼图上。我根据饼图值更改条形图

我能够使用 DOMElement 获取 path 元素 中的 fill color 值作为 pieChart 中的属性。但我无法获得 pieChart 生成的文本元素中的 。我想我不能使用 DOM。

如何使用 javascript 或 d3JS 在 文本元素 中获取价值

我的代码

var pieHover = function(d,i){

            var DOMelement = this; 
            var fill = DOMelement.getAttribute("fill");
            var countryName = DOMelement.getAttribute("Country");
            console.log("country :"+text);
            console.log(fill);
            chart1.colour(fill);
            chart1.render();
        }


pie1.pieOverCallback(pieHover);

从 html 元素访问数据有哪些不同的方法?

下面是html文件的分层布局。我需要访问&lt;text&gt; 元素中的数据。 任何帮助表示赞赏。

【问题讨论】:

    标签: javascript d3.js


    【解决方案1】:

    这完全取决于您生成的 HTML/SVG 的结构。如果&lt;text&gt;&lt;path&gt; 的孩子,那么您可能可以使用DOMelement.childNodes 或类似的方法来获取&lt;text&gt;,然后使用孩子的.getAttribute("text")。否则,您可以尝试将&lt;path&gt;&lt;text&gt; 分组到&lt;g&gt; 标记内,然后您可以使用DOMelement.parentNode

    【讨论】:

    • 您好,我已添加截图,请查看。我正在访问的是 svg > g > text。我尝试了 DOMelement.g.getAttribute("text");但没有运气。我不知道 .getAttribute 是否是在文本元素中提取数据的正确方法。
    • 我建议在&lt;g&gt; 元素的附加层内分组路径/文本对。目前,没有办法系统地知道根据任何给定的&lt;path&gt; 选择哪个&lt;text&gt;。如果只有两个元素组合在一起,那么您可以轻松获得唯一的兄弟元素。
    猜你喜欢
    • 1970-01-01
    • 2021-03-09
    • 2021-05-29
    • 2021-10-15
    • 1970-01-01
    • 2022-06-21
    • 1970-01-01
    • 2021-03-24
    • 1970-01-01
    相关资源
    最近更新 更多