- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个带有 display: none
的 div 的 dom 树:
<div id="root">
1
<div style="display: none;">
2
</div>
3
</div>
我使用 TreeWalker
遍历这个 dom 树:
let element = document.getElementById('root');
let walker = document.createTreeWalker(element, NodeFilter.SHOW_ALL);
while (walker.nextNode()) {
let node = walker.currentNode;
if (node.nodeType === 3) {
console.log(node.nodeValue.trim());
}
}
来自 MDN documentation to TreeWalker.nextNode()
method :
The TreeWalker.nextNode() method moves the current Node to the next visible node in the document order ...
所以,我认为 display: none
的 div 应该被 TreeWalker
跳过。但它不是:
let element = document.getElementById('root');
let walker = document.createTreeWalker(element, NodeFilter.SHOW_ALL);
while (walker.nextNode()) {
let node = walker.currentNode;
if (node.nodeType === 3) {
console.log(node.nodeValue.trim());
}
}
<div id="root">
1
<div style="display: none;">
this text node shouldn't be obtained with TreeWalker
</div>
3
</div>
那么,为什么它没有被跳过?
最佳答案
关于javascript - TreeWalker 显示不可见节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46498296/
当我尝试加载用户定义的检查样式模板时出现以下错误。 cannot initialize module TreeWalker - TreeWalker is not allowed as a paren
我有一个带有 display: none 的 div 的 dom 树: 1 2 3 我使用 TreeWalker 遍历这个 dom 树: let
我正在尝试使用树行者在页面上找到表格,插入列,然后根据每行第一个单元格中的值填充该列中的单元格。我做了很多研究,但一直失败。任何能将我推向正确方向的点击将不胜感激。 document.ondblcli
我有一个 Chrome 扩展程序,可以用 ahref 标签替换电话号码。在这个 ahref 标签中,我想调用一个 javascript 函数。为了简化,我使用“javascript:alert('he
我正在尝试访问给定元素中的所有文本节点,以便我可以隔离单词并将它们包装在 span 中。 TreeWalker 似乎是这项工作的 API,但我发现它非常不直观。 spec 都不是也不是 MDN ref
我在一个使用 eXistdb 的项目上工作。 XML Java API 等之后,每当我尝试在 Eclipse 中创建动态 Web prj 时,我都会收到此错误。当我想创建一个新的服务器实例时,我得到了
我正在 Eclipse Mars 中执行 Project-Clean... 并收到以下错误 Errors occurred during the build. Errors runni
我配置了 maven-checkstyle-plugin(v2.5) 和 maven-eclipse-plugin(v2.8)。 一切都按预期进行,但我一介绍, 模块名称=“SuppressWarni
我想使用 CheckStyle (7.1) (旧版本有同样的问题)使用 Gradle (2.14.1) 运行的 Kotlin 程序。 正常的模块/检查(例如 NewlineAtEndOfFile ,F
我有以下输入 DOM: var inputNode = document.querySelector('.test'); treeWalker = document.createTreeWalker(
我想获取文件的内容。输入是修订。如何获取工作目录或阶段区域中的文件内容例如,如果我有值为“1”的文件“测试”如果我确实更改为“2”并暂存文件现在我对同一个文件做了另一个更改为“3”现在我在一个阶段有两
正在关注 that讨论,我想了解如何使用 TreeWalker 更改按类名过滤的文本节点上的文本。 我想用“x”替换 上的所有数字仅。 有一个解决方案here ,但最终的 jQuery 对我来说并不
背景信息 IE9 目前存在一个错误,它认为 createTreeWalker 方法的 NodeFilter 属性是回调函数,而不是包含回调函数的对象。 在这样的通话中: document.create
我想使用 JGit 显示 head 修订版的所有文件和文件夹的列表。我可以使用 TreeWalk 列出所有文件,但这不会列出文件夹。 这是我目前所拥有的: public class MainClass
This question教如何获取文档中的所有 TextNode,这也让我获取了 Javascript 文本。过滤掉所有 Javascript 代码节点的最佳方法是什么? 最佳答案 里面的文字标签只
我用 xml 数据库和 appache tomcat 编写了一个简单的应用程序。我工作得很好,直到我试图在工作区打开时压缩它。之后,无论何时我尝试立即创建 tomcat 服务器,我都会收到此错误: C
我有一个带有单个内部节点的 div: test 我正在尝试使用 document.createRange() 和 document.createTreeWalker() 获取其
将maven项目导入Eclipse Luna后,修改方法后保存时弹出如下错误: cannot initialize module TreeWalker - Unable to instantiate
我有一个 eclipse checkstyle 插件的问题,我刚刚安装了这个,当我在 java 文件上使用 sun_checkstyle(eclipse) 执行 checkstyle-configur
关闭。这个问题需要更多 focused .它目前不接受答案。 想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭2年前。 Improve this que
我是一名优秀的程序员,十分优秀!