D3.js中selection.style和selection.attr之间的区别是什么?

Han*_*Sun 18 javascript events function d3.js

我发现它们都适用于我的测试:

    .on("mouseover",
        function() {
            d3.select(this)
                .select("text")
                .style("fill","red");
        })
Run Code Online (Sandbox Code Playgroud)

要么

    .on("mouseover",
        function() {
            d3.select(this)
                .select("text")
                .attr("fill","red");
        })
Run Code Online (Sandbox Code Playgroud)

And*_*rew 21

如果你查看你得到的HTML,你会看到类似的东西:

<text style="fill: red">...
Run Code Online (Sandbox Code Playgroud)

<text fill="red">...
Run Code Online (Sandbox Code Playgroud)

..它们在SVG中都是合法的,但是当你需要风格时使用attr可能会让你沮丧,如果你将它用于别的东西.

  • CSS覆盖`attr`,但不会覆盖`style`.这就是让我失望的原因. (8认同)