草庐IT

dom-traversal

全部标签

javascript - 为什么 translate3d 会泄漏 DOM 节点?

考虑这个HTML页面:http://jsbin.com/aYUcelo/1/(我建议下载它以摆脱所有jsbin噪音)。点击GO按钮,一个div被添加到正文中。RM删除其中一个div。它还将两种样式之一应用于新的div:newDiv.style.color="red";//ornewDiv.style.WebkitTransform="translate3d(0px,0px,0px)";可以看到chromedevtoolsmemorytimeline中的节点数量不断增加,如果应用了WebkitTransform,GC无法移除。红色样式不会发生这种情况。编辑:只是为了明确应用“红色样式”添

javascript - jQuery/JS 是否返回实际的 DOM 节点,或者只是对它们的引用?

我问的原因是因为我正在考虑在我拥有的这个巨大的多维数组中存储一堆DOM节点。成本:占用内存空间。问题是有多少空间,这取决于我获取的是引用还是实际的DOM节点。好处:1)它会使我的代码简单很多。2)我可以避免遍历,而只是从我的数组中引用DOM节点。想法? 最佳答案 来自jQuery网站:…jQuery()—whichcanalsobewrittenas$()—searchesthroughtheDOMforanyelementsthatmatchtheprovidedselectorandcreatesanewjQueryobject

javascript - 在 DOM 中移动 Controller 时保留元素/范围状态

在一个Angular应用程序中,我想将一个元素从DOM树的一部分移动到另一部分,而不必重新加载附加到移动元素的Controller。我创建了一个简化的plunker来说明:http://plnkr.co/edit/sqBRM3ZQ5G9xpiNd1MXm?p=preview在这个plunker中,唯一要保留的数据是切换器状态,但实际上它可能是非常大量的数据,可能需要花费大量精力来初始化。我想要做的是能够将模板1从指令1移动到指令2,但我想保留切换器的状态。在这种情况下,如果单击切换器使其变为绿色,然后单击“从列表1移动到2”两次,它会将其移动到指令2,但会将颜色重置为红色。为了避免这种

javascript - 如何在不丢失内容的情况下沿 DOM 移动 iframe?

这可能吗?我试图移动它,但iframe内容消失了。试图获取iframe的内容并将它们放置在新位置,但所有处理程序都消失了。尝试做同样的事情,但有了新的jQuery1.4.2功能,它会克隆所有事件。但它不起作用:)所以我决定在这里寻求帮助。如何在不丢失内容的情况下将该死的iframe移动到文档中的另一个位置?^_^谢谢添加:txtad_iframe=ad_container.find('iframe');its_contents=txtad_iframe.contents();its_body=its_contents.find("div:first").clone(true).inse

javascript - 循环添加/删除 DOM 节点会导致 JavaScript 内存泄漏?

我正在尝试显示使用DOM元素(添加/删除它们)进行操作的动态可变数据。我发现几乎所有浏览器都有一个非常奇怪的行为:在我删除一个DOM元素然后添加一个新元素后,浏览器没有释放被删除的DOM项目占用的内存。请参阅下面的代码以了解我的意思。在我们运行此页面后,它将逐步占用多达150MB的内存。谁能向我解释这种奇怪的行为?还是我做错了什么?functionredrawThings(){//Removingallthechildrenfromthecontainervarcont=document.getElementById("container");while(cont.childNodes

javascript - 序列化 DOM 元素,包括所有 CSS 属性

我正在开发一个像yola.com这样的在线网站设计系统。我想获取应用的CSS属性及其值到任何DOM元素的列表。例如,我有一个h1标签,它的css在调整大小和拖动时由jqueryui随机更改,还通过tinymce等更改其文本装饰和文本内容等。我在这个页面上有一个保存按钮。当我点击保存时,我想使用php将所有这些更改保存到数据库中。现在我的目标是只知道每个元素的css和内部文本内容。我该怎么做? 最佳答案 在javascript中,您可以通过调用找到元素的当前类名element.getClassName();至少在当前版本的firefo

javascript/jquery - 如何获取尚未添加到 dom 的元素/css 类的宽度

我正在尝试动态查找具有特定宽度的css类的元素的宽度,以便动态定位其背景图像(Sprite)。但是,该元素尚未添加到DOM。有没有办法在将类添加到DOM之前读取类的宽度属性? 最佳答案 我相信你做不到。而是将其添加到测试div,找到宽度,然后删除div。$selector.append("");varwidthVal=$selector.find("#test").width();$("#test").remove();selector是您可能想要附加到的元素选择器。您可以将一个类与“test”div相关联,使其显示为“displa

Javascript DOM,获取节点文本而不丢失间距信息

我正在使用javascript并想遍历HTML树,获取所有显示给用户的文本。但是,我丢失了间距信息。假设我有两个文档:XXXYYYYXXXYY   YY第一个将出现在Y之间有1个空格。第二个将有3个空格。但是,如果我遍历树并为每个#text节点使用:text=node.nodeValue;然后两个节点的文本将有3个空格。我不再知道哪个有“真正的”nbsp空间。我可以将node.innerHTML用于p元素,这将显示nbsp,但我不认为我可以使用innerHTML来获取XXX文本(没有某种文本减法)。我可以获得整个文档的innerHTML并解析它。但是,我还

javascript - Chrome DOM 未针对 jQuery 附加/淡入更新

从服务器获取新记录后,我使用jQuery1.7.2中的AJAX成功回调将新记录添加到列表并将其淡入。functiononSuccess(data,status,xhr){varrecord=$(template_html);//populate`record`with`data`values.body.append(record);//bodyisajQueryobjectfromclosurescoperecord.fadeIn('fast');}我在以下浏览器中对此进行了测试:IE8IE9Safari5.1.7火狐14.0.1Chrome21.0.1180.79歌剧11.64除Ch

javascript - 将数据绑定(bind)到 DOM 的示例

我在Backbone.js中阅读了以下内容'页面:WhenworkingonawebapplicationthatinvolvesalotofJavaScript,oneofthefirstthingsyoulearnistostoptyingyourdatatotheDOM.It'salltooeasytocreateJavaScriptapplicationsthatendupastangledpilesofjQueryselectorsandcallbacks,alltryingfranticallytokeepdatainsyncbetweentheHTMLUI,yourJav