草庐IT

dom-repeat

全部标签

javascript - 更改属性时延迟渲染 dom 元素

我目前在一次更新大量dom元素的属性时遇到性能问题。似乎每次我更改属性时,dom元素都会重新呈现。无论如何我可以延迟元素的渲染,直到我的所有更新都发生了吗?它在FF3和3.5中似乎比IE7和8慢很多,这与我的预期相反。下面是我正在做的一个例子。vart;for(vari=0;i问题是“tiles”中的项目数最多可以有100个dom元素。这才是性能问题真正体现出来的地方。 最佳答案 同意@Crimson但我认为最好隐藏您要更新的所有元素的父级,如果它们没有独占父级,请尝试创建一个。这样只有两个reflows会发生,一个发生在您隐藏ti

javascript - 自执行功能是否准备好在 dom 上运行?

在我听说自执行函数之前,我总是这样做:$(document).ready(function(){doSomething();});functiondoSomething(){//blah}自执行函数会产生同样的效果吗?它会在dom上运行吗?(functiondoSomething($){//blah})(jQuery); 最佳答案 没有。当Javascript引擎找到它时,一个自执行函数就会运行。但是,如果您在结束前将所有代码放在文档末尾标记(即highlyrecommended),那么您不必等待DOM准备就绪,因为您已经自动完成了

javascript - 从内存中移除 HTML 元素(DOM 节点)

根据mdndocumentationremoveChild方法从DOM中删除一个节点,但它仍然驻留在内存中。我的问题是我也想从内存中删除它。我已经尝试使用delete运算符,但对象仍然存在...myCanvas.parentElement.removeChild(myCanvas);//myCanvasactuallyremovedfromDOMdeletemyCanvas;//false.doesnothingalert(myCanvas);//showsHTMLCanvasElementinsteadofundefined 最佳答案

javascript - 如何检查 Backbone.View 当前是否在 DOM 中呈现?

我想检查Backbone.View当前是否在DOM中呈现,如果没有,我不必重新呈现它。我能以某种方式检查吗?问候 最佳答案 好吧,理论上您可以查询DOM来找出答案,但这比仅仅设置一个实例变量并在渲染之前查询它要慢得多。另一方面,渲染方法(假设一切设置正确)只应在模型更改时调用,因此您的问题表明您可能没有按照应有的使用方式(MVC样式)使用View.但假设您需要这样做,设置一个this.rendered=true并在您的渲染方法中再次渲染之前检查它可能是最快和最简单的。 关于javascr

javascript - 将 Angular.js 应用于 Chrome 扩展内容脚本中的新 DOM 元素

好的,我已经研究了一段时间了。在红色框中,我想要一些Angular功能(ng-repeats、数据绑定(bind)等...)双击任何网页上的文本时会出现此红色框。但是,我似乎无法找到如何实际连接/连接到红色弹出窗口中的文本框示例的Angular。在chrome的徽章弹出窗口以及选项页面等中使用angular似乎相当微不足道......但我似乎无法在这种情况下让它工作。inject.js(作为内容脚本包含在list中,如下)vardisplayPopup=function(event){varmydiv=document.createElement('div');var$div=$('#

javascript - 在页面 DOM 加载时收到通知(但在 window.onload 之前)

我知道有一些方法可以在页面主体加载时获得通知(在加载所有图像和第3方资源之前触发window.onload事件),但每个浏览器都不同.是否有在所有浏览器上执行此操作的明确方法?据我所知:DOMContentLoaded:在Mozilla、Opera9和最新的WebKit上。这涉及向事件添加监听器:document.addEventListener("DOMContentLoaded",[初始化函数],false);延迟脚本:在IE上,您可以发出带有@defer属性的SCRIPT标签,它只会在BODY标签结束后可靠地加载。轮询:在其他浏览器上,您可以继续轮询,但是否有标准的轮询对象,或者

javascript - IE 不允许动态创建的 DOM 'a' 元素上的 onClick 事件

我在使用InternetExplorer时遇到问题。我有一个链接,它复制了表单上的文件上传元素。重复的代码还会将超链接附加到重复的上传元素,该元素应该删除重复的元素,只需简单地删除此链接即可。问题是这段代码在firefox中运行良好,但在IE中根本无法运行。忘记代码是如何写出来的——我附加到元素的onClick事件根本没有触发!我正在函数中像这样创建删除链接元素:vara=document.createElement('a');a.setAttribute('href',"javascript:void(0);");a.setAttribute('class','delete');a.

javascript - 从加载了 iFrame 的 jQuery DOMWindow 访问父窗口的 DOM 对象

我有一个带有jQ​​ueryDOMWindow的网页,它从iFrame加载其内容。我需要从iFrame访问父窗口的元素。这可能吗?这是从我的主页打开的DOMWindow的配置:$('.AjaxDOMWindow').openDOMWindow({anchoredClassName:'DOMWindow',draggable:1,eventType:'click',height:500,loader:1,loaderHeight:16,loaderImagePath:'/js/jquery/DOMWindow/animationProcessing.gif',loaderWidth:17

javascript - 在(jquery)ajax 请求中获取当前脚本 DOM 对象

我有一个包含一些javascript的html组件。组件是模板引擎中的一个文件,所以可以使用在整个html页面的初始渲染中作为通过ajax请求呈现的独立htmljavascript应该应用于模板中的对象,即:Thisisitem13Thisisitem14$(document).ready(function(){$(HOW_DO_I_GET_PREVIOUS_ELEMENT???).someEffect(params)})我检查过thissimilarquestion但最好的答案似乎依赖于当前脚本是“脚本”变量中的最后一个脚本,因为下一个脚本尚未加载。如果我将html和js附加到aja

javascript - JS 更改了 DOM 后如何抓取内容?

我正在使用Mechanize,但如果Mechanize做不到,我愿意接受Nokogiri。我想在加载完所有脚本之后而不是之前抓取页面。我该怎么做? 最佳答案 我认为Nokogiri、Watir和PhantomJs是一个不错的选择:b=Watir::Browser.new(:phantomjs)b.gotoURLdoc=Nokogiri::HTML(b.html)生成的文档将在加载脚本后生成。phantomjs很好,因为不需要加载浏览器。 关于javascript-JS更改了DOM后如何抓