dom 相关问题

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

如何避免javascript中的nan错误?

我需要从一个数字(例如1000)中减去几个容器的高度,同时这个数字必须是一个css值(在本例中为1000px)。 但是当我添加

回答 1 投票 0

如何使用javascript查找带有类名的空表?

我有一个动态生成 html 表的页面。我无法控制如何生成表格,但我可以在其中放入 JavaScript 代码。 我想做的是...

回答 1 投票 0

为什么 React 父级中输入框的更改将导致渲染未更改的子元素<VideoPlayer>

https://react.dev/learn/synchronizing-with-effects#step-2-specify-the-effect-dependencies 代码示例演示了为什么我们应该指定效果依赖项,否则它将在每次渲染后调用...

回答 1 投票 0

如何使用Javascript检测当前窗口是否位于另一个窗口后面

是否可以检测网络浏览器窗口当前是否被另一个窗口覆盖? document.hidden 和 document.visibilityState 仅在切换选项卡或整个

回答 3 投票 0

在表单提交时获取对_blank目标窗口的引用

我有一个表单在提交时打开一个新窗口: 我想通过javascript访问新创建的窗口,而不需要手动生成唯一的名称... 我有一个表单在提交时打开一个新窗口: <form id="form-id" target="_blank"> 我想通过 javascript 访问新创建的窗口,无需手动生成目标的唯一名称,也无需采用其他方法来打开窗口。 似乎必须有一种简单的方法来做到这一点,但我找不到适合我的具体情况的方法。 我不是 100% 确定这适用于所有浏览器,但当 window.opener 或 target 上的 <a> 属性导致打开新窗口时,Firefox 似乎会设置 <form>。因此,您可以走另一个方向,从新窗口中找到原始窗口(假设您控制那里的代码;如果没有,那么我无法想象您可以对窗口引用做很多事情)。 当然,新窗口中的代码可以做的事情之一就是调用旧窗口中的函数,并传入其自己的 window 引用。 因此,具体而言,如果您有: <form action=whatever target=_blank> 在原来的页面上,那么新打开的窗口中最终出现的页面可以这样做: <head> <script> if (window.opener) { window.opener.announceWindow( window ); } </script> 假设 announceWindow() 是原始页面上的一个函数,可能类似于: function announceWindow( win ) { // do stuff with "win", a newly-opened window } 您可以使用名称来代替 _blank 为新窗口命名。 <form id="form-id" target="newName"> 然后你可以在 JS 中使用它: var newWindow = window.open(null, 'newName'); 添加@Pointy接受的答案: 到 2023 年,至少在 Chrome 中,当通过 <form target="_blank"> 打开窗口时,window.opener 在新窗口中未定义。 我必须将 rel="opener" 添加到打开表单中,之后,window.opener 被定义并且可以按照接受的答案的建议使用。 <form ... target="_blank" rel="opener">

回答 3 投票 0

如何在javascript函数中随机更改背景颜色

我将不胜感激任何帮助。我想在每次背景颜色变暗时更改按钮的文本颜色。我一直在尝试以下代码的其他变体。我似乎无法理解

回答 4 投票 0

如何在不重新加载页面的情况下跟踪树 DOM 更改?角

我需要你的帮助。我有一小段代码,我试图用它来实现以下逻辑 - 我有一个菜单列表。如果我有root角色,不要删除任何东西,但如果非root角色...

回答 1 投票 0

未捕获的类型错误:无法在 share-modal.js:1:135(匿名)处读取 null 的属性(读取“addEventListener”)

我正在使用 HTML CSS 和 Javascript 创建一个天气应用程序,但我不断收到空事件侦听器的错误,我什至不知道 在我的 DOM 中。 document.querySelector(".tui-image-editor-main-

回答 2 投票 0

有没有办法只获取顶部元素的innerText(并忽略子元素的innerText)?

有没有办法只获取顶部元素的innerText(并忽略子元素的innerText)? 例子: 顶部节点文本 子节点文本 有没有办法只获取顶部元素的innerText(并忽略子元素的innerText)? 示例: <div> top node text <div> child node text </div> </div> 如何获取“顶部节点文本”而忽略“子节点文本”?顶部 div 的 innerText 属性似乎返回内部文本和顶部文本的串联。 只需迭代子节点并连接文本节点: var el = document.getElementById("your_element_id"), child = el.firstChild, texts = []; while (child) { if (child.nodeType == 3) { texts.push(child.data); } child = child.nextSibling; } var text = texts.join(""); 这将在您的示例中起作用: document.getElementById("item").firstChild.nodeValue; 注意:请记住,如果您知道自己正在处理特定的 HTML,那么这将起作用。如果您的 HTML 可以更改,例如: <div> <div class="item"> child node text </div> top node text </div> 那么你应该使用更通用的解决方案 @Tim Down 这是工作代码片段: window.onload = function() { var text = document.getElementById("item").firstChild.nodeValue; document.getElementById("result").innerText = text.trim(); }; #result { border: 1px solid red; } <div id="item"> top node text <div> child node text </div> </div> <strong>Result:</strong> <div id="result"></div> 克隆元素。 循环遍历所有子节点(向后,以避免冲突):如果元素具有 tagName 属性,则它是一个元素:删除该节点。 使用 innerText 获取文本内容(当不支持 textContent 时,可以回退到 innerText)。 代码: var elem = document.getElementById('theelement'); elem = elem.cloneNode(true); for (var i=elem.childNodes.length-1; i>=0; i--) { if (elem.childNodes[i].tagName) elem.removeChild(elem.childNodes[i]); } var innerText = elem['innerText' in elem ? 'innerText' : 'textContent']; function getDirectInnerText(element) { var childNodes = element.childNodes; result = ''; for (var i = 0; i < childNodes.length; i++) { if(childNodes[i].nodeType == 3) { result += childNodes[i].data; } } return result; } element = document.querySelector("div#element"); console.log(getDirectInnerText(element)) <div id="element"> top node text <div> child node text </div> </div> 如果不想忽略子元素的内部文本,请使用以下函数: function getInnerText(el) { var x = []; var child = el.firstChild; while (child) { if (child.nodeType == 3) { x.push(child.nodeValue); } else if (child.nodeType == 1) { var ii = getInnerText(child); if (ii.length > 0) x.push(ii); } child = child.nextSibling; } return x.join(" "); } 正如所有其他答案已经解释的那样,您需要检查子节点的类型。 这是基于 @ehsaneha 的答案的简洁的单行文字: Array.from(element.childNodes).reduce((x, y) => x + (y.nodeType == Node.TEXT_NODE ? y.data : ''), '').trim() 或者作为原型方法: Element.prototype.directInnerText = function () { return Array.from(this.childNodes).reduce((x, y) => x + (y.nodeType == Node.TEXT_NODE ? y.data : ''), '').trim(); } 用途: console.log(document.body.querySelector('.element').directInnerText()); 兼容性参考: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/reduce https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType?retiredLocale=de const nodeValues=[]; document.querySelectorAll("locator").forEach( function (currentValue) { nodeValues.push(currentValue.firstChild.nodeValue); } ) return nodeValues;

回答 7 投票 0

如何在溢出滚动div内设置div水平居中?

这是我做的。 我想使用滚动事件使黄色 div 在溢出的 div 内水平居中。 但正如你所看到的,它很口吃,表现得很奇怪。 在移动网络中情况更糟

回答 1 投票 0

如何在 PHP 中获取 DOMElement 的内部文本?

我们在网站上使用 CMS。许多用户将 HTML 内容添加到数据库中,但格式很奇怪。例如,将所有 HTML 放在一行中: 这是我的标题...

回答 2 投票 0

为什么我要在重置秒表后再次播放秒表时单击两次?

我尝试从 freecodecamp 教程中构建秒表,当我添加功能来重置它时,我意识到我应该在重置后单击两次才能播放..有任何答案或解决方案吗?顺便说一句,这是我的第一次

回答 1 投票 0

无法读取 null 的属性(读取“appendChild”)

const list = document.getElementById('generateList'); const listAdd = document.createElement('li'); listAdd.innerText = "名称" list.appendChild(listAdd) 此代码返回:无法读取

回答 3 投票 0

Chrome 扩展 HTML 树生成器无法工作

我正在学习 DOM(文档对象模型),因此我安装了 HTML 树生成器来查看层次结构,但每当我启动扩展时,它仅加载而不是显示树。如果有的话...

回答 5 投票 0

在javascript中选择并添加类

如果可能,跨平台,我如何在无法添加 ID 的代码上选择 Javascript 中的类(但不是 Jquery -MooTools 很好 -)? 具体来说,我想在...

回答 6 投票 0

如何用加载的dom上的JavaScript替换页面上所有空的<img src="">?

我需要一个在 DOM 加载时启动的函数。 在我的 HTML 页面中有几个空的图像标签,就像我想在加载所有内容时将图像名称添加到 src-property 中以获得

回答 7 投票 0

为什么更新对象中的嵌套数组不会触发子组件重新渲染?

在我的 React 应用程序中,我有一个页面,其中包含项目卡列表(每个卡都是一个单独的组件),并且在每张卡上我都有一个从项目的嵌套数组对象呈现的表格。当我添加

回答 1 投票 0

CopyExternalImageToTexture 受到跨源数据污染

问题 我上传了一个存储库,在其中隔离了 device.queue.copyExternalImageToTexture 遇到的问题,如 index.js 文件中所示。没有服务器/后端 API。

回答 1 投票 0

querySelector:当return为null时如何不调用函数?

我需要使用querySelector(不是querySelectorAll,因为最多有一个这样的元素)对DOM中可能存在或不存在的元素执行一个函数。最优雅的解决方案...

回答 1 投票 0

下一个JS:当dom渲染时加载屏幕

如何显示我自己的加载程序而不是空白屏幕? 例如,Tweeter 在页面加载时显示徽标,Facebook、谷歌 AdSense 等也是如此。 看看这个 Gif,我想要一些东西

回答 9 投票 0

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