Javascript 如何在下拉菜单中记录console.log属性?

Javascript 如何在下拉菜单中记录console.log属性?,javascript,html,d3.js,jinja2,Javascript,Html,D3.js,Jinja2,我正在尝试console.log'data-id'属性,但是当我单击新的'时,我在控制台中不断获得1。下拉项'。这是HTML的一个片段: <div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> {% for date in joined_dates %} <a class="dropdown-item" href="#" data-id="{{loop.index}}">{{date}}

我正在尝试console.log
'data-id'
属性,但是当我单击新的
'时,我在控制台中不断获得
1
。下拉项'
。这是HTML的一个片段:

<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
  {% for date in joined_dates %}
    <a class="dropdown-item" href="#" data-id="{{loop.index}}">{{date}}</a>
  {% endfor %}
</div>

多亏了@altocumulus,我找到了一个非常简单的解决方案,如下所示:

d3.selectAll('.dropdown-item').on("click", function() { d3.select('#text').text('1'); console.log(this.dataset.id); })
对此的解释是,
数据id
数据-
类的子集,可以使用
.dataset.id
调用它的值。我的理解是,在创建类时,我们可以在
数据-
之后放置几乎所有内容,但仍然可以得到相同的结果


如果有人有更好的解释,请让我知道!谢谢大家!

我对d3js了解不多,但我已经创建了一个使用d3js和普通js的工作示例(bootstrap仅用于下拉列表)。你能检查一下吗
d3.selectAll('.dropdown item')。在(“单击”,function(){d3.select('#text')。text('1');console.log(this.dataset.id);})上('.dropdown item'))
是您所需要的一切。谢谢@altocumulus,这很有效!
d3.selectAll('.dropdown-item').on("click", function() { d3.select('#text').text('1'); console.log(this.dataset.id); })