重置d3中的填充颜色

时间:2014-03-12 13:42:57

标签: jquery svg d3.js

我正在使用d3创建一个地球仪。我想根据它们是否在一个名为“无代表”的数组中来更改国家/地区的填充颜色。但我无法改变填充颜色。请问我的语法错误了吗?

d3.json("world-countries.json", function(collection) {

         feature = svg.selectAll("path")
              .data(collection.features)
              .enter().append("svg:path")
              .attr("d", clip)
              .attr("id", function(d) { return d.id; })
              .on("mouseover", pathOver)
              .on("mouseout", pathOut)
              .on("click", click);

          feature.append("svg:title")
              .text(function(d) { return d.properties.name; });

          feature.each(function(){
            thisOne = $(this).attr('id');
             for (var i=0; i<unrepresented.length; i++){
                if ($(this).attr('id') == unrepresented[i]) {
                    thisOne.style("fill", "#000000");;
                }
             }
          });


});

1 个答案:

答案 0 :(得分:1)

thisOne是代码中节点的ID - 您无法在其上设置样式。以下代码应该有效:

d3.select(this).style("fill", "#000000");