javascript - 如何使用starts-with()函数从节点获取标签名称?
问题描述
如何从节点获取标签名称?
<h2 data-my-color="#333"></h2>
<div data-my-color="#222"></div>
<div data-my-color="#111"></div>
所以我想得到'h2','div','div'。
var nodeMy = document.evaluate('//@*[starts-with(name(), "data-my-")]', document, null, XPathResult.ANY_TYPE, null);
var thisnodeMy = nodeMy.iterateNext();
while (thisnodeMy) {
console.log(thisnodeMy);
console.log(thisnodeMy.ownerElement.localName);/* Works... the good way?! */
thisnodeMy = nodeMy.iterateNext();
}
提前致谢。
解决方案
很好,但可以像这样简化一点:
var result = document.evaluate('//*[starts-with(name(@*), "data-my-")]', document, null, XPathResult.ANY_TYPE, null);
var node = null;
var tagNames = [];
while(node = result.iterateNext()) {
tagNames.push(node.nodeName);
}
console.log(tagNames.join(", "));
<h2 data-my-color="#333"></h2>
<div data-my-color="#222"></div>
<div data-my-color="#111"></div>
推荐阅读
- java - Python - 解码编码为 PEM 文件的 ECDH(曲线 25519)公钥
- r - 投资组合构建 - 因子模型
- java - Spring Cloud Gateway 和 CORS 标头
- laravel - array_merge():期望参数 2 是一个数组,给定推送器 laravel 为 null
- javascript - Python:使用 Beautifulsoup 设置 JavaScript 变量?
- git - 语义版本控制,用 2 个字节标识提交
- python - 在一个变量中将4位整数除以2作为python中的元组
- c# - 如何使用按钮在图表上获取昨天的日期?
- memory - TensorRT:如何计算 TensorRT 优化模型(model.trt)中的 FLOPS 数?
- next.js - 带有 getInitialProps 和 getStaticProps 的页面