javascript - 如何选择具有(任何)类的所有元素
问题描述
我正在使用 D3selectAll
执行转换。我有大约 260 条路径,但其中只有 80 条有课程。
我应该如何选择所有具有类的路径?
解决方案
您不需要 D3 来检查元素是否具有类,但这是一个基于 D3 的答案。使用 D3 吸气剂时...
selection.attr("class")
...它将返回null
没有类的元素。
因此,您只需要检查 getter。
例如,假设你有这个 SVG 有 5 个路径,其中 3 个有一个类:
<svg>
<path></path>
<path class="foo"></path>
<path class="bar"></path>
<path class="baz"></path>
<path></path>
</svg>
通过在 a 中使用 getter,filter
我们只能获取具有类的元素,即使类不同:
const pathsWithClass = d3.selectAll("path")
.filter(function() {
return d3.select(this).attr("class")
});
console.log("Elements with class: " + pathsWithClass.size())
<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/5.7.0/d3.min.js"></script>
<svg>
<path></path>
<path class="foo"></path>
<path class="bar"></path>
<path class="baz"></path>
<path></path>
</svg>
推荐阅读
- html - 无法在我的 HTML 表中获取我的 CSS 样式表
- r - 谷歌云 AI 平台 jupyter notebook 实例即使在重置后也不会打开并且正在运行
- ruby-on-rails - 可以在 mini magick (Imagemagick) 上格式化粗体文本
- javascript - css网格重复布局样式列表
- python - 带有开放式添加反斜杠的 Python kivy,在替换时抛出无效参数
- java - CertificateVerify 步骤期间的相互 SSL 握手失败
- d3.js - d3折线图中显示的随机水平线?
- javascript - 将新的 SerialPort 声明为变量不允许我读取数据?串口节点js
- c# - 是否有我实现自定义方法的属性的简写?
- ios - 导航栏前的 SwiftUI 视图