没有这个我怎么能做 d3 来支持 JSLint

How can I do d3 without this to support JSLint

如何将下面的代码转换为有效的 JSLint 代码,即(不要使用 this 关键字) https://codepen.io/anon/pen/eGGXKR

d3.selectAll(".test").style("background-color", function(){
  return d3.select(this).html();
})
.test{
  padding:4px;
  margin:4px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.9.1/d3.min.js"></script>
<div class="test">red</div>
<div class="test">green</div>
<div class="test">blue</div>
<div class="test">pink</div>
<div class="test">yellow</div>

在 D3 方法中,与 style() 一样,this 与第三个和第二个参数的组合相同。

所以,这...

d3.selectAll(".test").style("background-color", function(){
    return d3.select(this).html();
})

.. 与:

相同
d3.selectAll(".test").style("background-color", function(d,i,n){
    return d3.select(n[i]).html();
})

这是您的代码,其中包含该更改:

d3.selectAll(".test").style("background-color", function(d,i,n){
  return d3.select(n[i]).html();
})
.test{
  padding:4px;
  margin:4px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/4.9.1/d3.min.js"></script>
<div class="test">red</div>
<div class="test">green</div>
<div class="test">blue</div>
<div class="test">pink</div>
<div class="test">yellow</div>