javascript - D3 相当于 jQuery 的子选择器?

标签 javascript jquery d3.js

我正在寻找 jQuery 子选择器的 D3 等效项,例如:

$('rect', this).addClass('active');

我的用例是这样的:每当用户单击父 .bar 元素时,我希望 rect 元素切换 active 类。

<g class="bar">
  <rect height="18" width="300"></rect>
  <text class="label">Wholesale </text>
  <text class="value">679</text>
 </g>

目前我有这个:

bar.on('click', function(d) { 
 if (d3.select(this).classed("active")) {
  d3.select(this).classed("active", false);
 } else { 
  d3.select(this).classed("active", true);
 }
}); 

但是,这显然是将 active 类应用于 g 元素,而不是我想要的 rect

最佳答案

var bar = d3.select(".bar");
bar.on('click', 
       function(d) { 
           var rect = d3.select(this).select("rect");
           var hasClass = rect.classed("active");
           rect.classed("active", !hasClass); 
       }
);

关于javascript - D3 相当于 jQuery 的子选择器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15163163/

相关文章:

javascript - 阻止来自 Iframe 的任意元素

jquery - CSS(或 JQuery)改变颜色动画 onclick

jquery - 取消选择所有 jquery 选项卡时遇到问题

d3.js - 解释 d3js 投影基础知识

javascript - 单击时克隆项目(Html5-canvas)

javascript - JSCS:运算符(operator)应坚持以下表达

jquery - 将随机类应用于指定的每个元素

javascript - D3.js 可折叠树 - 展开/折叠节点

javascript - 如何让第二条显示在分组条形图上?

javascript - 桌面网站上的移动对话框