草庐IT

虚拟DOM

全部标签

javascript - Backbone.js 内存管理,增加 DOM 节点数

情况:我正在开发一个相当复杂的单页Backbone应用程序,它可能会连续运行8-12小时以上。因此,需要确保应用程序不会泄漏,也不会因X小时后崩溃或速度急剧下降而出名。应用:该应用基于Backbone构建(mv*),Zepto(类似于jquery),Curl(amd装载机)&Mustache(模板化)。问题:我刚刚征服了事件监听器。垃圾收集器似乎在清理这些家伙方面做得很好,但DOM节点数不会停止攀升。问题:是否有适当的方法来处理DOM节点,以便它们被正确地垃圾收集,或者这个DOM节点计数是一个永远不会减少的运行总数?有没有人知道这些框架中的任何一个不能很好地处理DOM节点?可能是mus

javascript - 使用 jQuery 将 HTML 字符串转换为 DOM 对象

我在JavaScript字符串中有HTML(包含通常的嵌套HTML)。使用jQuery,我可以使用任何document.create*函数一次性将其转换为有效的HTML元素吗?我的要求是对创建的DOM对象使用document.getElementById。 最佳答案 以简单的嵌套为例。vardom_string='xxxyyy';使用jquery的$()函数创建HTMLDOM元素并附加到任何你想要的地方。我已经采取了“body”,但你可以追加到任何地方。$(dom_string).appendTo('body');或者,您可以使用纯

javascript - react .js : Is it possible to convert a react component to HTML DOM's?

我正在开发一个基于map的应用程序,该应用程序使用GoogleMapAPI在React.js中创建标记及其信息窗口。infowindow.setContent()只接受String或HTML。我不可能传入String,因为我有一个button链接到另一个React组件中的特定方法(类似于:_this.props.addList(地点))。因此,我必须将参数作为HTMLDOM填充为以下代码行:vardiv=document.createElement('div');vartitle=document.createElement('h4');title.innerHTML=place.na

javascript - 如何突出显示 DOM Range 对象的文本?

我使用鼠标在html页面(在firefox中打开)上选择一些文本,并使用javascript函数创建/获取与所选文本对应的范围对象。userSelection=window.getSelection();varrangeObject=getRangeObject(userSelection);现在我想突出显示范围对象下的所有文本。我是这样做的,varspan=document.createElement("span");rangeObject.surroundContents(span);span.style.backgroundColor="yellow";好吧,这很好用,只有当范围

javascript - 检查缓存的 jquery 对象是否仍在 DOM 中

有谁知道如何判断缓存的jQuery对象是否已经过时,例如不再在DOM中?例如:var$cached_elem=$('.the_button');//..andthenlater$cached_elem.text('updating...');我最近遇到了$cached_elem由于某些其他事件而从DOM中删除的情况。所以我想做什么:if($cache_elem.isStillInDOM()){//nowdotimeconsumingstuffwith$cached_eleminDOM}在任何人提供之前,我已经使用了这个,这与我正在尝试做的事情相当相似:if($cached_elem.i

javascript - 从 jQuery 对象中检索 native DOM 元素?

如何让jQuery返回它封装的原生DOM元素? 最佳答案 当您使用jQuery查找元素时,您可以使用“get”函数获取它们:varregularElement=$('#myElementId').get(0);在“.each()”函数中,“this”指针指向一个“真实”元素:$('input.special').each(function(){vartype=this.type;this.value="explodingballoon";//etc})使用jQuery不会使Javascript“与众不同”。它是Javascript,

javascript - 从仅引用元素的 DOM 中删除元素

这要么非常简单,要么不可能。我知道我可以做到:varelement=document.getElementById('some_element');element.parentNode.removeChild(element);...但感觉很乱。有没有一种更简洁且得到普遍支持的方法来做同样的事情?似乎-至少对我来说-应该有这样的东西:document.getElementById('some_element').remove();...但这行不通,搜索Google/SO也没有找到任何替代方案。我知道这没那么重要,但是parentNode.removeChild()感觉很笨拙/凌乱/低效

javascript - 如何获取当前Vue组件的DOM元素?

当我在vue组件的某个方法中并想使用一些dom操作(通过jquery)时,我需要让DOM元素与我的组件相关(特别是当我在页面上有很多组件实例时-我需要对它们中的每一个单独“工作”——所以我无法仅使用没有技巧的jquery选择器来检测DOM元素...) 最佳答案 就这样(在“方法”中的任何方法中):letdomElement=this.$el;:)但请记住,只要您的组件不是FragmentInstance,这就是有效的即它有一个根HTML标签 关于javascript-如何获取当前Vue组

javascript - 从字符串创建 SVG DOM 元素

我将如何从String创建SVGDOM元素?例子:varsvgStr='backgroundLayer1'; 最佳答案 您可以使用DOMParser解析XML字符串。varparser=newDOMParser();vardoc=parser.parseFromString(stringContainingXMLSource,"image/svg+xml");已解析字符串的根元素将是doc.documentElement为了跨浏览器正常工作,您需要设置html命名空间,即您的字符串需要如下所示...varsvg2='

javascript - 如果 DOM 元素包含一个类,我如何检查 JavaScript?

如果DOM元素包含类,我如何在JavaScript中检查?我尝试了下面的代码,但由于某种原因它不起作用......if(document.getElementById('element').class=="class_one"){//code...} 最佳答案 要获取类属性的全部值,请使用.classNameFromMDC:classNamegetsandsetsthevalueoftheclassattributeofthespecifiedelement.自2013年以来,您得到了额外的帮助。许多年前,当这个问题第一次得到回答时