Javascript 什么';D3.js中selection.style和selection.attr的区别是什么?

Javascript 什么';D3.js中selection.style和selection.attr的区别是什么?,javascript,function,events,d3.js,Javascript,Function,Events,D3.js,我在测试中发现这两种方法都有效: .on("mouseover", function() { d3.select(this) .select("text") .style("fill","red"); }) 或 如果查看得到的HTML,您将看到如下内容: <text style="fill: red">... 。。。 及 。。。 …这在SVG中都是合

我在测试中发现这两种方法都有效:

    .on("mouseover",
        function() {
            d3.select(this)
                .select("text")
                .style("fill","red");
        })


如果查看得到的HTML,您将看到如下内容:

<text style="fill: red">...
。。。

。。。

…这在SVG中都是合法的,但在需要样式时使用attr可能会使您在将其用于其他用途时绊倒

这稍微取决于您在d3中创建的svg对象

例如,当您想要创建一个圆元素时,它将具有一个“x”、“y”和“r”属性(attr),用于定义圆元素的形状和位置。可以使用不透明、填充颜色等设置圆的样式


属性通常表示svg对象的大小和形状,而样式通常表示在可视化中使用的svg对象的更多设计方面。

CSS覆盖
attr
,但不会覆盖
style
。这就是让我绊倒的原因。
<text style="fill: red">...
<text fill="red">...