dom 相关问题

通过文档对象模型,将此标记用于有关其他语言与XML / HTML交互的问题。不要将其用作HTML,JavaScript或SAX的简写 - 使用其他标记来表示语言和标记。

JavaScript 中的children 和childNode 有什么区别?

我发现自己在使用 JavaScript,并且遇到了 childNodes 和 Children 属性。我想知道它们之间有什么区别。还有一个比另一个更受青睐吗?

回答 3 投票 0

使用自定义元素和模板访问实际/可视 DOM

假设我有一个叫做“面板”的东西。它包含一个隐藏部分和一个显示它的按钮。很容易。 然而我有点喜欢并决定使用自定义元素 假设我有一个叫做“面板”的东西。它包含一个隐藏部分和一个显示它的按钮。够简单的。 但是我有点喜欢,决定使用自定义元素 <custom-panel> 来标记每个面板的边界,<template> 表示内容,<slots> 表示配置(标题、详细信息等)。 现在我对如何连接按钮有点困惑。该模板具有 CSS,如果设置了正确的类,它将显示/隐藏面板的详细信息。但我该如何设置呢?我只知道如何获取模板的内容(没有已解析的插槽)或自定义面板的内容(没有模板信息)。 完整示例: customElements.define( 'custom-panel', class extends HTMLElement { constructor() { super(); const template = document.getElementById('custom-panel-template'); const templateContent = template.content; this.attachShadow({ mode: 'open' }).appendChild( templateContent.cloneNode(true) ); } } ); <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Custom Panels</title> </head> <body> <custom-panel> <span slot="openButtonText">Open Panel 1</span> <span slot="closeButtonText">Close Panel 1</span> <span slot="panelName">Panel 1</span> <div slot="">Panel 1 Details</div> </custom-panel> <custom-panel> <span slot="openButtonText">Open Panel 2</span> <span slot="closeButtonText">Close Panel 2</span> <span slot="panelName">Panel 2</span> <div slot="panelContent">Panel 2 Details</div> </custom-panel> <template id="custom-panel-template"> <style type="text/css"> #panel { display: none; } #panel.open { display: revert; } </style> <!-- how do these get hooked in? --> <button type="button"><slot name="openButtonText">Default Open Button Text</slot></button> <button type="button"><slot name="closeButtonText">Default Close Button Text</slot></button> <fieldset id="panel"> <legend><slot name="panelName">Default Panel Name</slot></legend> <slot name="panelContent">Default Panel Content</slot> </fieldset> </template> </body> </html> customElements.define( 'custom-panel', class extends HTMLElement { constructor() { super(); const template = document.getElementById('custom-panel-template'); const templateContent = template.content; this.attachShadow({ mode: 'open' }).appendChild( templateContent.cloneNode(true) ); // get a reference to the panel const panel = this.shadowRoot.querySelector("#panel"); // hookup the open this.shadowRoot.querySelector("button#open").addEventListener("click", () => { panel.className = "open"; }); // hookup the close this.shadowRoot.querySelector("button#close").addEventListener("click", () => { panel.className = ""; }); } } );

回答 1 投票 0

使元素脱离正常流程的 CSS 属性是什么?

使元素脱离正常流程的 CSS 属性是什么? 这些属性可以是 float、position:absolute 等。 这个问题涉及正常流程的所有可能的改变。

回答 2 投票 0

如何获取<p>节点中第一个可见字符的偏移量

我在 epub 文件的 节点中有大段文本,我使用外部库在移动屏幕 Web 视图上显示这些文本。 图书馆允许我翻页来查看 的部分内容 我在 <p> 文件的 epub 节点中有大段文本,我使用外部库在移动屏幕 Web 视图上显示这些内容。 该库允许我翻页以查看这些 <p> 节点的部分内容。 我可以从 DOM 中获取当前可见的节点。 但是我还需要获取该节点中当前可见的第一个字符的偏移量。 例如: 在上图中,可见文本是实际 <p> 元素的一小部分。我想获取第一个字符的字符偏移量(不是像素偏移量),在本例中为“v” 有办法做到吗? 我对EPUB文件了解不多,也许有一些方法可以获取当前显示文本的偏移量。他们的方式我认为你可以做到这一点将是基本js并且需要整个文本和当前显示的文本。自从你写了 我可以从 DOM 中获取当前可见的节点。 我认为可以安全地假设您有权访问显示的文本。 我想到的方法是使用 String.prototype.indexOf() 方法来查找该文本切片在整个文本中的位置。例如 // get the whole text const fullText = "This is a very long text. I can read it for hours and it doesnt stop there." // get the text of the current displayed node const nodeText = "read it for hours and it doesnt stop there." console.log("The offset of the current displayed text is " + fullText.indexOf(nodeText)); // output: The offset of the current displayed text is 32 请记住,可能有某种方法可以使用 EPUB 文件执行此操作,并且它的框架已经内置,我对 EPUB 文件了解不多。但这将是一种在整个文本中查找文本切片位置的方法。

回答 1 投票 0

汉堡菜单适用于 Firefox,但不适用于基于 chromium 的浏览器

在我的 React 应用程序中,我有一个汉堡菜单,可以在 Firefox 上按预期运行,但它在 Chrome 上不起作用,并且我没有收到控制台错误。 这是负责处理汉堡的脚本

回答 1 投票 0

最后一个<tr>不在单独的行上。它与我使用 colspan 和 rowspan 的倒数第二行平行出现

我有一个表,其中第一列跨越 8 行,而其他列与之平行。倒数第二行应与其平行,同时跨越 3 行和 3 列。最后一行应该在单独的r上...

回答 2 投票 0

如何聚焦加载我的反应应用程序的选项卡

我有一个要求,如果我收到一个特定的套接字,那么如果该选项卡最小化,它应该最大化并且焦点应该位于该选项卡上。 我已经尝试过 window.focus() 但它不起作用

回答 1 投票 0

为什么React重新渲染过程不会改变checkbox的值?

我刚刚用 onChange 事件处理程序创建了一个输入框,并且有一个复选框。我将复选框单击为 true,然后在输入框中键入,这将重新渲染组件,因为它具有 useState 挂钩...

回答 1 投票 0

Angular - 如何检查组件标签是否具有特定属性?

我按以下方式使用app-some组件 如何检查 app-somecomponent 是否具有 app-somecompo 中所需的属性...

回答 4 投票 0

js for 循环innerHTML 函数在加载相同id 时不起作用

for循环innerHTML +=不起作用 富巴 document.getElementById('outSecs').</desc> <question vote="-1"> <p>在 addeventlistener 负载上调用函数时,for 循环 insideHTML += 不起作用</p> <pre><code>&lt;main id=&#39;outSecs&#39;&gt; foobar &lt;/main&gt; &lt;script&gt; document.getElementById(&#39;outSecs&#39;).addEventListener(&#39;load&#39;, myFn); function myFn() { for (var q = 1; q &lt;= 9; q++) { document.getElementById(&#39;outSecs&#39;).innerHTML += &#34;&lt;section&gt;&lt;p class=&#39;myOutput&#39;&gt;&lt;/p&gt;&lt;/section&gt;&#34;; } } </code></pre> <p>如何在加载时插入带有innerHTML的循环代码?</p> </question> <answer tick="false" vote="0"> <p>我建议你使用窗口的 DOMContentLoaded 事件。</p> <p>代码也可以更优雅。无需每次都获取主容器。只需获取一次并填充即可。</p> <p></p><div data-babel="false" data-lang="js" data-hide="false" data-console="true"> <div> <pre><code>const myFn = () =&gt; { const mainContainer = document.getElementById(&#39;outSecs&#39;); mainContainer.innerHTML = Array.from({ length: 9 }) .map((_, i) =&gt; `&lt;section id=&#34;s${i}&#34;&gt;&lt;p class=&#34;myOutput&#34;&gt;${i+1}&lt;/p&gt;&lt;/section&gt;`) .join(&#39;&#39;) }; window.addEventListener(&#39;DOMContentLoaded&#39;, myFn)</code></pre> <pre><code>&lt;main id=&#39;outSecs&#39;&gt; foobar &lt;/main&gt;</code></pre> </div> </div> <p></p> </answer> </body></html>

回答 0 投票 0

onblur 事件阻止 onclick

尝试选择下拉列表中的项目。 当我尝试单击该项目时,由于 onBlur,它没有单击。 我看到很多带有 onMouseDown 的解决方案,但很多人说这不是

回答 1 投票 0

documnt.addEventListener 导致“未捕获的类型错误‘属性handleEvent’不可调用。”

我有一个简单的 HTML 文件,它加载脚本“asyncLoader.js”: ...

回答 1 投票 0

javascript如何找到包含文本的DOM节点?

给定一个获取的html页面,我想找到包含一部分文本的特定节点。我想最困难的方法是一一迭代所有节点,尽可能深入,然后......

回答 2 投票 0

为什么在 <IMG> 事件处理程序中运行的 JavaScript 中 x 和 y 是不可变的?

我正在使用 Chrome,以防这是浏览器特定的行为 当我尝试在图像的 onLoad 或 onError 事件处理程序中使用 JavaScript 设置 x 变量的值时,我无法做到。 x 和 y s...

回答 1 投票 0

documentElement节点使用innerHTML时不会触发MutationObserver

我发现了 MutationObserver 接口,用于拦截和分析 DOM 中的更改。 它工作得很好,我已经成功拦截了所有 DOM 更改...除了 DOM c...

回答 1 投票 0

按钮切换绑定事件bug

重新赋值getRes时,num的打印值保持不变,但重新绑定DOM点击事件时不会出现这个问题。是什么原因导致这个问题呢? 我尝试切换箭头功能,

回答 1 投票 0

事件循环如何处理 JavaScript 中的 DOM 事件处理程序?

我对浏览器如何处理 JavaScript 事件有点困惑。 假设我有两个事件处理程序附加到按钮 A 和 B。这两个事件处理程序花费完全相同的时间来完成。 ...

回答 2 投票 0

同一元素上的 JavaScript DOM 事件处理程序是否按注册顺序调用相同的事件和阶段?

如果我将多个事件处理程序附加到单个 DOM 元素上的单个事件,是否保证事件处理程序按照它们添加的顺序被调用?或者我不应该依赖这种行为?

回答 1 投票 0

JavaScript DOM 中事件目标的父链中事件监听器的顺序是如何确定的?

假设有一个 div 包含一个链接(a href),并且有三个事件侦听器 - 单击时 - 1)整个页面,2)div 3)标签。如果用户点击a标签,列表如何...

回答 1 投票 0

JavaScript DOM 事件处理程序是否按照注册顺序调用?

如果我将多个事件处理程序附加到单个 DOM 元素上的单个事件,是否可以保证事件处理程序按照添加顺序进行调用?或者我不应该依赖这种行为?

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.