dom 相关问题

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

JavaScript 检测是否启用硬件加速

是否可以检测浏览器是否支持硬件加速页面渲染以及是否已启用?我知道 Firefox 4、IE9 和 Chrome 支持...

回答 3 投票 0

删除div而不删除普通Javascript中的内容[重复]

有人可以帮助我如何删除 div 标签而不删除 JavaScript 中的内容吗? 这是我的 html,我需要从中删除所有 div 标签: ... 任何人都可以帮助我如何删除 div 标签而不删除 JavaScript 中的内容吗? 这是我的 html,我需要从中删除所有 div 标签: <div id="id1" class="someclass"> <p>some text <label> Test content </label> </p> <div id="id2" style="overfolw:scroll"> <span>some text</span> <div id="level3"> <label> Test content </label> <a href="https://twitter.com/realDonaldTrump/status/882186896285282304" target=_blank rel=noopener>creepiness</a> </div> </div> </div> 预期输出如下所示。 <p>some text <label> Test content </label> </p> <span>some text</span> <label> Test content </label> <a href=https://twitter.com/realDonaldTrump/status/882186896285282304 target=_blank rel=noopener>creepiness</a> 使用纯java脚本: var divs=document.getElementsByTagName('div'); var counter = divs.length-1; for(i=counter;i>=0;i--){ divs[i].outerHTML = divs[i].innerHTML; } <div id="id1" class="someclass"> <p>some text <label> Test content </label> </p> <div id="id2" style="overfolw:scroll"> <span>some text</span> <div id="level3"> <label> Test content </label> <a href="https://twitter.com/realDonaldTrump/status/882186896285282304" target=_blank rel=noopener>creepiness</a> </div> </div> </div> 使用 jQuery unwrap(): $(document).ready(function(){ $('div').contents().unwrap(); }); <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="id1" class="someclass"> <p>some text <label> Test content </label> </p> <div id="id2" style="overfolw:scroll"> <span>some text</span> <div id="level3"> <label> Test content </label> <a href="https://twitter.com/realDonaldTrump/status/882186896285282304" target=_blank rel=noopener>creepiness</a> </div> </div> </div> 使用尖端技术,例如可迭代节点列表和replaceWith,使用普通的 DOM API 非常简单: for (const div of document.querySelectorAll("div")) // alternatively: Array.from(document.getElementsByTagName("div")) div.replaceWith(...div.childNodes); 您可以使用unwrap功能。 $('div').children().unwrap(); 如果你想用纯 JavaScript 来做。您可以使用 document.getElementsByTagName("div") 获取所有 div 的列表,但您需要以相反的顺序解开这些 div。这是一个 nodelist,因此 reverse() 对其不起作用,因此您可以首先对其使用 [].slice.call(),它会为您提供一个数组,然后您可以反转它。然后在数组中解开每个元素。 你可以这样做: var elements = [].slice.call(document.getElementsByTagName("div"), 0).reverse(); elements.forEach(function(el){ el.outerHTML = el.innerHTML; }); <div id="id1" class="someclass"> <p>some text <label> Test content </label> </p> <div id="id2" style="overfolw:scroll"> <span>some text</span> <div id="level3"> <label> Test content </label> <a href="https://twitter.com/realDonaldTrump/status/882186896285282304" target=_blank rel=noopener>creepiness</a> </div> </div> </div>

回答 3 投票 0

使用 JavaScript 查找父元素的子元素

最有效的方法是仅使用纯 JavaScript 查找特定父元素的子元素(带有类或 ID)。没有 jQuery 或其他框架。 在这种情况下,我会...

回答 6 投票 0

angularjs ng-bind-html 到 iframe 正在渲染 <html> 标签之外的 HTML

我正在将页面从 $http.get 加载到 iFrame 中。 $http.get 检索完整的 HTML 页面,就好像它是本机导航到的一样,但是当我将内容附加到 iframe 时,内容是

回答 1 投票 0

如何在浏览器JavaScript中实现“复制到剪贴板”?

如何用JavaScript实现“复制到剪贴板”?有没有办法在 HTML 中添加 JS 脚本,允许“复制到剪贴板”按钮? 下图中的示例。 什...

回答 2 投票 0

每次浏览器重新加载时“clientwidth”都会发生变化

嗨,我不懂javascript,但我可以理解它,我想构建一个轮播,所以我尝试使用“clientwidth”访问元素的宽度,但我得到的宽度...

回答 1 投票 0

获取Svelte中子组件的布局大小

我正在将 VanillaJS 网站转换为 Svelte,需要在网页上随机放置 div。请注意,每个 div 大小都可以根据其内容而变化,它们不能...

回答 1 投票 0

HTML 中 `table > tbody:nth-child(1)` 的消失

这是一个简单的 HTML 表格,我想选择唯一的 元素。 ... 这是一个简单的 HTML 表格,我想选择唯一的 <tbody> 元素。 <table> <thead> <tr> <td>Team</td> <td>Points</td> </tr> </thead> <tbody> <tr> <td>A</td> <td>15</td> </tr> <tr> <td>B</td> <td>21</td> </tr> </tbody> </table> 由于只有一个<tbody>,我以为可以用:nth-child(1)来获取,但是失败了。 > document.querySelectorAll('table > tbody').length /* It worked */ < 1 > document.querySelectorAll('table > tbody:nth-child(1)').length /* It failed */ < 0 > document.querySelectorAll('table > tbody:nth-child(2)').length /* It worked */ < 1 为什么tbody:nth-child(1)不存在,而tbody:nth-child(2)却存在? 为什么 tbody:nth-child(1) 不存在,而 tbody:nth-child(2) 却存在? tbody 元素是 table 元素的 second 子元素,因此 :nth-child(1) 不起作用,因为它不是第一个子元素,但 :nth-child(2) 起作用,因为它是第二个子元素。 另一种选择是使用 tbody:nth-of-type(1),因为 tbody 元素是该类型元素中的第一个(也是唯一一个)。 团队

回答 1 投票 0

更改组件中二维码的内容

我正在使用 ngx-qrcode2 在我的 Angular 应用程序中生成 QR 码。我需要做的是将一组二维码附加到 PDF 中并下载该文件。 我更改了 Compo 中 QR 的内容...

回答 1 投票 0

在 JavaScript 中的同一范围内使用“event”关键字两次?

我有一个通过单击事件侦听器调用的函数。它接受一个事件参数: 函数 editExistingEmp(事件) 该函数在调用时将循环遍历所有 DOM 内容...

回答 1 投票 0

使用AppleScript在Brave设置页面上运行JS

我正在尝试解决 Brave 对扩展白/黑名单的限制。 我有两个相互冲突的扩展 - 一个我想在工作网站上运行,另一个几乎在其他所有东西上运行(我...

回答 1 投票 0

如何将使用 getElementsByClassName 返回的 HTMLcollection 转换为 Array

Array.from() 或 Array.prototype.slice.call() 或使用 for 循环将 htmlcollection 添加到数组中无法将 HTMLcollection 从 getElementsByClassName 转换为数组,以便我可以迭代

回答 1 投票 0

为什么我的 JavaScript 仍然先于 HTML 加载?

我已经尝试了所有推荐的解决方案:将我的脚本移到 元素之后;在关闭 标签之前插入;将我所有的 JS 代码包装在 document.addEventListener("

回答 1 投票 0

为什么appendChild()会让一些孩子失踪?

const div1 = document.createElement('div'), div2 = document.createElement('div') div1.innerHTML = 'x' div1.childNodes.forEach(子=> { // 文本节点 x 丢失 控制台.l...

回答 1 投票 0

使用 EJS 添加部分模板时的空格

我正在使用 SailsJS 和 EJS 引擎。 当我使用 <% include partials/template.ejs %> 或 <% partial('partials/template.ejs') in the layout file, I get whitespaces before the comp...

回答 4 投票 0

如何打印数组中数字重复的次数? JS

我正在尝试解决这个练习: 编写一段 JavaScript 代码,要求用户输入一个数字,然后打印该数字在数组中出现的次数。 我正在用 parseFloat 来做,所以我可以...

回答 1 投票 0

在Web Worker中,如何从字符串中查找html属性?

在网络工作者内部,我有一个 html 字符串,例如: “” 有没有我可以轻松导入的库

回答 2 投票 0

如何检查文本内容的显示:无样式

我想获取 DOM 节点的文本内容,但没有有效隐藏的元素(具有样式显示:无)。 我了解 DOM textContent 属性和 jQuery 的 text() 方法(我...

回答 7 投票 0

动态加载元素内的Htmx功能,通过自定义JS在动态加载元素上初始化htmx

动态加载具有 htmx 属性的元素后,htmx 功能似乎不会在动态加载的元素上激活。重要的是要知道动态加载的元素......

回答 1 投票 0

if 命令和其余命令正确吗?

我正在尝试制作它,以便它可以显示该元素是否是cadetblue。 代码: #笨蛋{ 背景颜色:cadetblue; </desc> <question vote="0"> <p>我正在尝试制作它,以便它可以显示该元素是否是 cadetblue 。 代码:</p> <pre><code>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;style&gt; #idiot{ background-color:cadetblue; border-top-left-radius:50%; border-bottom-left-radius: 50%; border-bottom-right-radius: 50%; border-top-right-radius: 50%; width: 100px; height: 30px; } &lt;/style&gt; &lt;/head&gt; &lt;body&gt; &lt;p id=&#34;idiot-background-p&#34;&gt;The button is Cadet Blue.&lt;/p&gt; &lt;div id=&#34;idiot&#34;&gt;&lt;/div&gt; &lt;script&gt; if(document.getElementById(idiot).style.background-color !== &#39;cadetblue&#39;){ document.getElementById(idiot-background-p).innerHTML=&#34;The button is not Cadet Blue&#34;; }; &lt;/script&gt; </code></pre> <p>当我将背景颜色更改为黑色时,它仍然显示</p><p>为“按钮是学员蓝色”。 可能只是我因为新而忘记了一些东西,但我不确定。</p> </question> <answer tick="false" vote="0"> <p>您的 JavaScript 代码中存在一些语法错误。</p> <p>首先,<pre><code>document.getElementById</code></pre>需要一个字符串或一个包含字符串(你的id的字符串名称)的变量,在这种情况下,看起来你试图通过id“idiot”获取一个元素,所以正确的方法为此,请在 ID 的开头和结尾添加单引号或双引号。 <pre><code>idiot-background-p</code></pre>也是如此。</p> <p>并且,在 <pre><code>styles.background</code></pre> 和 <pre><code>color</code></pre> 中间有一条斜线,而它应该没有斜线</p> <p>固定代码:</p> <pre><code>&lt;script&gt; if(document.getElementById(&#34;idiot&#34;).style.backgroundColor !== &#39;cadetblue&#39;){ document.getElementById(&#34;idiot-background-p&#34;).innerHTML=&#34;The button is not Cadet Blue&#34;; }; &lt;/script&gt; </code></pre> </answer> <answer tick="false" vote="0"> <p>您缺少在 <pre><code>getElementById</code></pre> 上标注元素的名称,它使用字符串来查找元素。如果您使用了变量,那么您可以删除 cuotes。</p> <p>此外,JavaScript 上的 CSS 属性 <pre><code>background-color</code></pre> 是 <pre><code>backgroundColor</code></pre>。如果您使用某种类型的 IDE(如 <a href="https://code.visualstudio.com/" rel="nofollow noreferrer">VSCode</a>),它会建议您正确的 IDE:</p> <p><a href="https://i.stack.imgur.com/CglAr.png" target="_blank"><img src="https://cdn.imgupio.com/i/AWkuc3RhY2suaW1ndXIuY29tL0NnbEFyLnBuZw==" alt=""/></a></p> <p>脚本标签应如下所示:</p> <pre><code>&lt;script&gt; if ( document.getElementById(&#39;idiot&#39;).style.backgroundColor !== &#39;cadetblue&#39; ) { document.getElementById(&#39;idiot-background-p&#39;).innerHTML = &#34;The button is not Cadet Blue&#34;; } &lt;/script&gt; </code></pre> </answer> <answer tick="false" vote="-1"> <p>文本仍然显示“按钮是学员蓝色”的原因是因为您正在使用 style.background-color 属性检查 id idiot 元素的背景颜色。此属性返回元素的当前背景颜色,而不是样式表中设置的原始背景颜色。</p> <p>要解决此问题,您需要使用 backgroundColor 属性而不是 style.background-color 属性。无论当前背景颜色是什么,backgroundColor 属性都会返回元素的原始背景颜色。</p> <p>试试这个:</p> if(document.getElementById(白痴).backgroundColor !== 'cadetblue'){ document.getElementById(idiot-background-p).innerHTML="该按钮不是 Cadet Blue"; }; </answer> </body></html>

回答 0 投票 0

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.