问题标签 [dom-node]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如何检查一个元素是否是 JavaScript 中的流元素
当我将 a 插入div
到p
元素中时,DOM 会将其更正为
对于一个figure
元素也是如此。它不能是 的孩子p
。所谓的流元素只允许进入允许流元素的父元素。
如果节点是流元素还是允许流元素作为子元素的元素,如何使用 JavaScript 检查?
更新
这与 CSS 无关。这不是关于样式,而是关于 DOM。Adiv
可以将 adiv
作为孩子,但 ap
不能将 ap
作为孩子。
php - 如何将 HTML 字符串转换为 DOMNode 以在 PHP 中使用 DOMNode::insertBefore?
在我的 PHP 项目中,我使用 DOMDocument 来获取如下视图:
页面对象的方法
在模板对象 ( $this->current_template
) 中,我有一个write
获取页面内容的方法。修改已经注入的 HTML 也很有用。
模板对象的方法
为了更方便,我想编写代码以插入为 HTML 字符串并将其转换为 DomNode 以使用 $parentNode->insertBefore()。我怎样才能做到这一点 ?
javascript - 如何在 Nodejs 中使用 document.getElementById()
我正在尝试使用nodejs从js文件中的html文件中按id获取元素。我收到错误“未定义文档 ID”,因为默认情况下节点不提供文档对象模型。
那么如何在 nodejs 中使用document.getElementById()呢?
谢谢 !
html - 比较不同的 DOM 节点,哪些节点的性能更高?
试图减少 DOM 节点的数量我对此进行了一些研究,但没有发现任何比较数字,比如使用两个 DOM 元素而不是两个伪元素更好还是使用 20 个字符的文本节点更好而不是 10 个字符的 DOM 元素(假设它包含比文本节点更多的额外参数(它们不是缓存还是什么?))?
目标是简化大型 DOM 树的工作(主要是一个表格,每个单元格中都有一些结构,总共大约 30000 个 DOM 元素)。
我已经阅读了关于伪元素的 W3 规范,但没有找到任何有用的信息。
那么是否有任何共同规则,还是只能通过基准测试才能发现?
我也看到了这个问题,但它并没有太大帮助,因为我的问题是关于比较不同的节点 - 应该首选哪个节点来提高性能?
是的,我知道这种cell-reusing
方法,但它也取决于单元格的复杂性(在 IE11 中滚动滞后很多,不仅仅是一次渲染整个结构)。
reactjs - 不变违规:参数似乎不是 ReactComponent
我需要找到一个组件的offsetLeft。
在调试时,我得到了变量tesNo的值。之后我得到了这个错误:
考虑向树中添加错误边界以自定义错误处理行为。访问此站点以了解有关错误边界的更多信息。不变违规:参数似乎不是 ReactComponent
如何解决这个错误?
json - 我应该在组件之间传递 json 还是 dom-nodes?
我正在使用 useContext 和 setState 挂钩在我的网站上共享一系列音轨。我有一些播放列表组件可以将曲目添加/删除到全局播放列表以及音频元素的包装器,例如可以在当前播放完成时检索下一个曲目。
播放列表都使用相同的组件。每个 Track 基本上只是一个包含 id、title、url.. 等的<tr>
with 。<td>
我使用 json 生成这些。
现在我的问题是我应该在我的钩子中传递什么?因为我看到至少 3 个选项...我可以通过
传递 track_id 似乎最有效,但是.. 但是每当我需要曲目数据时.. 例如,要获取 url 或渲染,我需要找到可以嵌套在我的 json 后端中任何位置的对象。
传递 dom-node 似乎是错误的......但如果我想在其他地方呈现列表,它会很容易使用。
如果你传递track json对象..我随时都有我需要的所有数据..但我需要将它附加到所有track dom节点..这似乎也不对..
选项1。track.json 对象
选项 #2。<tr>
域节点
现在我显然想遵循最佳实践并尽可能高效..所以有人可以指出我正确的方向
typescript - Typescript:TextNode 的类型
如果你写下面的代码:
您将在以下位置收到此错误e.data
:
TS2339:“ChildNode”类型上不存在属性“数据”。
而如果条件为真 ( e.nodeType === Node.TEXT_NODE
) 则e
除了常规ChildNode
属性之外还有一些其他属性,例如data
和wholeText
。
我应该转换成什么类型(除了any
)?
javascript - 如果两个 DOMString 在 JavaScript 中代表相同的 DOM 节点,最有效的方法就是比较它们
我使用 ReactJs 函数renderToStaticMarkup来创建 HTML 标记。标记位于 App 中的另一个位置,作为其他 DOM 节点的innerHTML属性。由于我想防止图像和iframe重新渲染,我想进行比较,如果当前的innerHTML与它应该设置的不同。
出于某种原因,Reacts renderToStaticMarkup为图像创建 HTML 标记为:
但 DOM innerHTML的值为
所以基本上区别在于尾随/
(但这不需要是经验法则)
我想知道确定这两个 DOMString 是否代表同一个 DOM 节点的最有效/最快的方法是什么。
1.字符串比较
替换/删除所有出现的/>
2. 解析/转换为 DOMNodes
这是更安全的方法,但也更昂贵。我将不得不使用类似的东西document.createRange().createContextualFragment
(参见这篇文章),而不是使用该isEqualNode
方法。
有人有更好的建议吗?