草庐IT

improving-the-dom

全部标签

javascript - 删除未使用的 DOM 元素以提高性能

我正在编写单页应用程序。最初提供页面时,它包含许多DOM元素,这些元素包含我注入(inject)到页面中的json字符串。当页面加载到客户端时,首先发生的事情是这些DOM元素从json解析为javascript对象,然后它们再也不会被使用。从DOM中删除它们并减小其大小是否会带来性能优势?关于这方面,我还没有找到任何确凿的数据。有关信息,这些元素的大小约为500K。感谢您的建议。 最佳答案 WouldtherebeaperformancebenefitintodeletingthemfromtheDOMandreducingitss

javascript - 文档在 dom 操作后准备就绪

我正在用Phonegap做一个应用程序,我正在使用一个自建的幻灯片切换来更改页面。它是这样工作的:每个页面都是一个高度和宽度为100%的div,因此如果我更改页面,我会将下一个div设置为当前事件的右侧并将两者都滑动到左侧。现在问题来了:滑动工作正常,但它是在右侧div的内容完全加载之前执行的。所以右边的div滑入空白,只有几百毫秒后内容才会出现。我用document.ready试过了,但据我所知,这个事件只在第一次加载DOM时执行。在我用Javascript操作了DOM之后,有人知道如何等待DOM再次完全呈现吗? 最佳答案 在您的

javascript - DOM 元素的 JavaScript 相等运算符是否跨浏览器?

对于DOM元素,==和===能否在所有浏览器中正常工作?如果代码以两种不同的方式获取对原始DOM元素的引用,那么它们在所有浏览器中是否都等于==和===? 最佳答案 Will==and===workcorrectlyinallbrowsersforDOMelements?是的,这些相等运算符将按照ECMAScript标准定义的方式工作。请注意,==经常会做开发人员意想不到的事情,例如在与字符串值进行比较时转换为字符串。这将使以下陈述为真,尽管它可能不是所需的结果:document.createElement('div')=='[ob

javascript - JavaScript 如何将 DOM 元素存储在变量中?

我的意思是当您执行以下操作时,JavaScript如何存储DOM元素:varfoo=document.getElementsByTagName('p');foo变成了什么?一组对象?以及如何向该变量添加更多元素,例如:varbar=document.form[0].getElementsByTagName('input');//5elementsvarfoo=document.form[1].getElementsByTagName('input');//4elementsbar=+foo;for(i=0;i是否可以将更多相同类型的元素添加到一个已经有元素的变量中?我是否必须遍历要添加

javascript - 调用 $(this) 时,jQuery 会重新查询 DOM 吗?

在下面的代码中,当$(this)被调用时,jQuery是否重新查询DOM,就好像选择器已传递给它一样(使用对象的某些属性作为选择器),或者jQuery是否保留先前返回的对象?$('.someButton').on('click',function(){$(this).remove();//Isthisanotherlookup,orjustawrapperforthepreviouslyreturnedobject?}); 最佳答案 它不会重新查询DOM,this已经是一个元素。jQuery只是将上下文设置为元素,调整长度,然后返回

javascript - 如何检查 DOM 引用是否已被销毁?

这个问题在这里已经有了答案:HowcanIcheckifanelementexistsinthevisibleDOM?(27个答案)关闭7年前。假设我以老式方式(或任何其他可以获得DOM引用的方式)选择一个元素:varel=document.getElementById('myFavoriteElement');然后我从DOM中删除该元素的父元素,从而也删除了el。或者我直接删除el。有没有办法检查el是否仍然是一个有效的引用,它所引用的HTML是否仍然存在于DOM中?类似于el.hasBeenDestroyed的东西作为bool属性,或者类似的东西?

javascript - ng-选项 : how to put empty option at the end?

目前,我有这样的东西(简化版):Someoneelse这会创建一个下拉菜单,其中包含用于人名的选项和顶部用于“其他人”的空选项。问题是,如何在下拉列表的底部获得空选项?我非常想继续使用ng-options为此,特别是因为控制默认选项的位置似乎是一个太小的变化,无法证明稍微冗长的是合理的。方式。谢谢! 最佳答案 使用value=""的选项喜欢:Someoneelse如果你想在点击下拉列表时在底部显示其他人,你可以使用。{{person.name}}Someoneelse 关于javascr

javascript - zeromq w/Electron : Could not locate the bindings file

我使用的是Windows7x64、nodejs5.1.0和Electron0.35。我按照ElectronQuickStartapp中的说明进行操作然后将行require("zmq")添加到main.js。此时,npminstallzmq--save后,electronmain.js显示:错误:找不到绑定(bind)文件。尝试过:[zmq.node路径列表]尝试的路径之一实际上存在于系统中,即node_modules/zmq/build/Release/zmq.node如果我删除Electron应用程序代码并只在main.js中保留require("zmq")行,我可以使用nodema

javascript - 从远程 repo 中拉出并获得 : "Parsing error: The keyword ' import' is reserved"

我收到以下错误:ERRORin./src/main.jserrorParsingerror:Thekeyword'import'isreserved/Users/staging/Desktop/sourcetree/viewer_web/src/main.js:1:1importVuefrom'vue'出于某种原因,我的项目中的ES6功能未被识别?我正在使用Node5.0,这是我的package.json:{"name":"istaging-viewer","description":"AVue.jsproject","author":"Alex","private":true,"sc

javascript - 我如何在每次迭代之间间隔循环中为 DOM 元素设置动画?

我有一个函数foo,我想添加一个sleep/等待函数来制作一种DOM元素动画。我已经做了一些研究,我知道暂停javascript函数是不可能的,因为它会卡住浏览器-如果我错了请纠正我。我该如何克服它?functionfoo(){while(someCondition){var$someDiv=$('.someDiv:nth-child('+guess+')');$someDiv.css({'background-color':'red'});wait1000ms$someDiv.css({'background-color':'blue'});wait1000msif(someCond