D3按类别和返回元素ID选择元素

时间:2014-11-18 21:46:56

标签: javascript d3.js

我的HTML看起来像这样:

<button class="leaflet-clickable" id="Abilene">Abilene</button>
<button class="leaflet-clickable" id="Augusta-Richmond County">Augusta-Richmond County</button>
<button class="leaflet-clickable" id="Honolulu">Honolulu</button>

而且,我的D3代码看起来像这样(让我们假设所有明显的事情,如引用D3&#39的库等都是正确的):

d3.selectAll(".leaflet-clickable").on("click", function(){
        console.log("test");

        msa = d3.select(".leaflet-clickable").text(function(content){
            console.log(content);
            return content;
        });
        changeSubGroupData(msa);
    });

我试图在单击按钮时捕获DOM中的ID。控制台没有错误,我在任何地方都找不到答案。我看了here,看看是否有任何教程涵盖了这个具体问题,但无济于事。我上面所说的是错的。我该如何解决这个问题?

提前致谢。

1 个答案:

答案 0 :(得分:1)

值得庆幸的是,D3通过this提供了对选择的引用:

d3.selectAll('.leaflet-clickable').on('click', function() {
    console.log(d3.select(this).attr('id'));
});

试试