草庐IT

NT-DOM-NV

全部标签

javascript - HTML DOM : Which events do not bubble?

大多数事件在所有浏览器中冒泡。但是,我知道在InternetExplorer中“提交”事件不会冒泡。还有哪些不冒泡的事件? 最佳答案 HTML框架/对象加载卸载滚动(除了文档上的滚动事件必须冒泡到窗口)HTML表单专注模糊突变DOMNodeRemovedFromDocumentDOMNodeInsertedIntoDocument进度加载开始进度错误中止加载loadend发件人:https://en.wikipedia.org/wiki/DOM_events#Events为了检查事件是否通过DOM树向上冒泡,您应该检查read-on

javascript - 如何在 JavaScript 中交换 DOM 子节点?

交换子节点顺序的最简单方法是什么?例如,我希望childNode[3]成为childNode[4],反之亦然。 最佳答案 无需克隆。您可以将一个节点移动到另一个节点之前。.insertBefore()方法将从当前位置取出它并将它插入其他地方(从而移动它):childNode[4].parentNode.insertBefore(childNode[4],childNode[3]);您获得节点的父节点。然后调用父节点的insertBefore方法并将其传递给childNode[4]节点并告诉它您希望它插入到childNode[3]之前

javascript - JQuery - 将 DOM 元素移动到新父元素的动画?

我在一个表格单元格内有一个图像标签,我想将其移动到另一个表格单元格,并为该移动设置动画。代码看起来像这样......我想将“arrow.png”移动到“cell2”,并有某种过渡效果,最好使用JQuery。有什么想法吗?谢谢! 最佳答案 这实际上非常困难,因为您必须将其删除并添加到DOM,但要保持其位置。我想你正在寻找这样的东西。基本上我们不会为#cell1或#cell2中的箭头设置动画。我们只是在body标签中创建一个新的并为其设置动画。这样我们就不必担心表格单元格的位置,因为我们可以相对于文档进行定位。var$old=$('#c

javascript - 在添加到 DOM 之前获取元素的高度

有没有办法在将元素append到DOM之前获取元素的高度?我知道clientHeight没有像我试过的那样工作,它总是返回0。是否有其他方法可以返回高度,或者元素是否必须是DOM的一部分才能计算高度?这是我想要的示例:functiontest(a){vara=document.createElement(a)a.style.top=(window.innerHeight/2-a.clientHeight/2)+'px'//fixedpositioninCSSdocument.body.appendChild(a)}*注意:这只是我正在处理的功能的简化版本,以便在没有所有不必要的困惑的情

javascript - 涉及 DOM 的单元测试 Javascript

您如何对使用和修改DOM的javascript进行单元测试?我举一个简单的例子。检查空白文本字段的表单验证器,用javascript编写并使用JQuery。functionValidator(){this.isBlank=function(id){if($(id).val()==''){returntrue;}else{returnfalse;}};this.validate=function(inputs){varerrors=false;for(varfieldininputs){if(this.isBlank(inputs[field])){errors=true;break;}

javascript - 使用 document.createDocumentFragment() 和 innerHTML 来操作 DOM

我正在创建如下文档片段:varaWholeHTMLDocument='helloworld';varfrag=document.createDocumentFragment();frag.innerHTML=aWholeHTMLDocument;变量aWholeHTMLDocument包含一个长字符串,它是页面的整个html文档,我想将它插入到我的fragment中以生成和操作动态DOM。我的问题是,一旦我将该字符串添加到frag.innerHTML中,它不应该加载该字符串并将其转换为DOM对象吗?设置innerHTML后,我不应该通过属性访问DOM吗?我试过frag.childNod

Javascript 内存泄漏 : Detached DOM tree

我注意到当我处于表单中时浏览器的内存开始增加(这在任务管理器中很明显)。在IE9中,经过一些使用后,这很容易超过500MB,而chrome更有弹性(使用相同的测试达到200MB)。我正在使用chrome开发者工具来调试这个问题。我注意到有大量的DetachedDOM树:我假设这可以确认存在内存泄漏。那是正确的吗?其次,我需要找出如何确定问题的根本原因。我知道您应该使用保留树来确定是什么阻止了这些项目被回收。但是我找不到如何使用保留树。比如上面截图中的retainingtree是什么意思?如有任何帮助,我们将不胜感激。 最佳答案 在编

javascript - 从 "popup.html"访问当前选项卡 DOM 对象?

我正在为GoogleChrome浏览器开发一个扩展程序。我不知道如何从“popup.html”页面访问当前选项卡DOM对象。有什么建议吗? 最佳答案 默认情况下,在popup.js/popup.html中,“文档”对象仅指扩展弹出窗口的文档。要获取特定选项卡(例如当前事件选项卡)的DOM,您需要使用contentscriptscommunications.例如,我们需要从extension发送请求通过popup到您的内容脚本,所以在popup.html中你做这样的事情:chrome.tabs.getSelected(null,fun

javascript - DOM 节点上的事件处理程序是否随节点一起删除?

(注意:我在下面使用的是jQuery,但问题实际上是一般的JavaScript问题。)假设我有一个div#formsection,其内容使用AJAX重复更新,如下所示:varformSection=$('div#formsection');varnewContents=$.get(/*URLfornextsection*/);formSection.html(newContents);每当我更新这个div时,我triggeracustomevent,它将事件处理程序绑定(bind)到一些新添加的元素,如下所示://Whenthefirstsectionoftheformisloaded

javascript - 什么相当于 Chrome 开发工具中的 Firebug DOM 选项卡?

我习惯使用DOM选项卡来检查Firebug页面上存在的全局JS变量。它在Chrome开发者工具中的等效项是什么? 最佳答案 输入window,然后您将看到window对象及其中的所有内容。p.s:window是普通网页中“最顶层”的对象。(全局范围)由于特别提到了“Chrome开发者工具”,我们可以安全地假设window将始终是全局范围。按Console,然后输入window。按enter,现在您可以看到一个全局变量列表,例如$(jQuery)和document。 关于javascrip