草庐IT

dom-to-image

全部标签

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 - 如何在JSON.stringify : Uncaught TypeError: Converting circular structure to JSON?中找到循环结构

当我在大型结构上遇到UncaughtTypeError:ConvertingcircularstructuretoJSON时,很难找出循环引用的确切位置。是否有一种简单的方法来查找/调试数据结构中的循环元素? 最佳答案 我还没有找到一个简单的方法来做到这一点,其他人似乎建议在JSON.stringify中使用自定义替换函数来控制访问了哪些属性。我试图写这样的替代品:functiondetector(obj){functioncollector(stack,key,val){varidx=stack[stack.length-1].i

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

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

javascript - Node : Passing function specific variables to Async. 并行()

在Node中呈现页面之前,我需要完成大量长时间运行的数据库查询。这些查询中的每一个都需要一些自己的变量。有没有一种简单的方法可以将变量传递给nodejs中的async.parallel()实用程序?async.parallel([queryX(callback,A1,A2,A3),queryX(callback,B1,B2,B3),queryY(callback,C1,C2,C3),queryY(callback,D1,D2,D3),queryZ(callback,E1,E2,E3),queryZ(callback,F1,F2,F3),],function(err,results){/

javascript - 用户界面路由器 : open modal and pass parent scope parameters to it

我正在使用这个FAQ条目在某个状态的子状态中打开模式对话框:https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-open-a-dialogmodal-at-a-certain-state我的代码如下。当我打开模式对话框时,我需要访问父状态范围的属性。这可能吗?plnkr:http://plnkr.co/edit/knY87n.state('edit',{url:'/{id:[0-9a-f]+}',views:{'@':{templateUrl:'views/edit.html',c

javascript - 如何为 rails 4.1 替换 link_to_function

我正在创建我的第一个真正的Rails应用程序,并且我正在学习。我有一种情况需要在一种形式上创建嵌套属性,因此一直在查看与此相关的railscast剧集(196和197)。在第二集中,他使用了link_to_function方法,显然在rails4.1中不再可用。我想知道如何更换它。我一直在尝试link_to,并为发布类似问题的其他人尝试了许多建议的解决方案,但无济于事。这是我的部分View目前的样子(虽然,我已经尝试了很多东西......)这是我的.js.coffee文件,其中包含remove_fields()函数:remove_fields=(link)->$(link).previ

javascript - 函数式 JavaScript : good practice to avoid argument mutation?

这是一个相当笼统的问题。函数式编程提倡这样一种想法,即程序是关于通过函数转换数据的,应该避免突变(除了可能在函数内,函数被视为抽象的基本单元)。但是在这个程序中:functionfoo(bar){bar.k1="bananas";returnbar;}varo={k1:"apples",k2:"oranges"};varp=foo(o);外部变量o在foo中发生了变化,因为bar是对o的引用,最后,o===p(它们引用同一个对象)。但功能范式更希望p是新数据。显而易见的解决方案是克隆参数(例如使用下划线/lodash的_.clone):functionfoo(_bar){varbar=