javascript - d3有没有类似jQuery.closest(selector)的api?

标签 javascript jquery d3.js closest

像这样的 DOM:

<g.module>
  <g.control>
    <rect>

我没有找到最接近的 API: https://github.com/mbostock/d3/wiki/API-Reference

如何从它的父元素中获取最近的匹配元素?就像这样:

var module = d3.select(".control").closest(".module");

最佳答案

浏览器现在有 closest method on DOM node :

d3.select(rect.node().closest('svg'));

以及使用此方法与@JayB 类似的代码:

d3.selection.prototype.closest = function(selector) {
  var arr = [];
  this.each(function() {
    arr.push(this.closest(selector));
  });
  return d3.selectAll(arr);
};

只允许使用:rect.closest('svg');

唯一的问题是IE不支持

关于javascript - d3有没有类似jQuery.closest(selector)的api?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18375761/

相关文章:

javascript - 如何添加 AJAX 操作 - Elgg

javascript - 为什么 Iron Router 功能没有重定向?

javascript - JS中去掉方括号内的数字

javascript - 向可能有或没有查询参数的 URL 添加参数?

javascript - 更新可视化背后的数据

javascript - d3js 跳动缩放行为

javascript - 禁用按钮仍然触发事件 vue js

javascript - 未使用 jquery 中的单击功能设置属性引用

javascript - jQuery 使用 Javascript Object Literal 根据另一个下拉选项填充下拉选项

javascript - 时间序列数据的线性回归