草庐IT

improving-the-dom

全部标签

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 - 使用 RESTAdapter 的后端验证始终为 "The adapter rejected the commit because it was invalid"

配置后端=Laravel5.1,带有DingoAPI前端=Ember1.13.6,Ember数据1.13.7适配器=Ember数据RESTAdapter问题我正在尝试处理我的第一个Ember应用程序的后端验证错误。当从服务器返回错误时,我得到这个错误:Error:TheadapterrejectedthecommitbecauseitwasinvalidatnewError(native)atError.EmberError(http://localhost:4200/assets/vendor.js:26266:21)atError.ember$data$lib$adapters$e

javascript - Cordova 错误 : Refused to execute inline script because it violates the following Content Security Policy directive

我正在学习将Cordova与jquerymobile结合使用,但出现以下错误:RefusedtoexecuteinlinescriptbecauseitviolatesthefollowingContentSecurityPolicydirective:"default-src'self'data:gap:https://ssl.gstatic.com'unsafe-eval'".Eitherthe'unsafe-inline'keyword,ahash('sha256-iacGaS9lJJpFDLww4DKQsrDPQ2lxppM2d2GGnzCeKkU='),oranonce('n

javascript - 位置 :sticky : Adding style when the element detaches from normal flow

举个简单的例子:MYNAVBAR和基本样式:#mynav{position:sticky;}我想将以下样式信息应用到我的导航栏仅当它脱离正常流程时,以便从视觉上将其与主要内容分开(在这种情况下带有阴影)box-shadow:0px10px15px0pxrgba(0,0,0,0.75);我可以使用某种伪类或类似媒体查询的东西吗?例如:#mynav:some-pseudo-class{box-shadow:0px10px15px0pxrgba(0,0,0,0.75);}我知道有一些很好的插件,但如果不绕过(相当新的)native功能position:sticky,它们似乎都无法实现它。相反

javascript - Webpack 插件 : How to add dynamically a Module to the main Chunk?

我正在开发一个Webpack插件,它基本上在block中寻找cssAssets,当它找到这样的Assets时,在其上应用一些返回的postCSS插件2个输出,一个应该继续使用Extract-Text-Plugin提取,另一个输出应该成为chunk中的一个新模块在运行时将其注入(inject)头部。我唯一没有设法实现的部分是在现有block中创建新模块的部分。有什么指点/想法吗?我设法从中创建了一个新block,但没有webpack包装器,这意味着我无法为那blockcss支持HMR并延迟加载它。classExtractTPAStylePlugin{constructor(options

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