草庐IT

javascript - 删除节点时的 D3 更新总是删除 SVG DOM 中的最后一个条目

我在我的D3应用程序中看到了一个奇怪的行为,经过数小时的尝试弄清楚发生了什么,我希望有人能指出我明显做错的地方。我已将应用程序简化为非常简单,但问题仍然存在。正如您将看到的,它源自所有出色的D3示例。我有一个问题的简单场景是:选择一个节点(通过单击它),然后在按下删除键时删除该节点以及该节点和链接的所有相关链接和标签。下面粘贴的代码几乎就在那里,因为它完全按照预期减少了节点和链接的数量(给定任何特定图表),但有一个问题:节点和链接标签都不正确,最终分布在不同的圈子...任何关于可能发生的事情的想法都将不胜感激!代码:varwidth=960,height=700,colors=d3.s

javascript - 为什么不能删除从 DOM 自动生成的 Javascript 变量?

这可能不是常识,但是"Javascriptonmany(all?)modernbrowsersseemstocreatevariablesonthewindowobjectforDOMelementswithIDs".知道这一点后,我希望能够删除这些变量,下面是我尝试过但没有成功的一些代码。还要考虑我的console.log语句的屏幕截图,它首先表明why不是窗口的属性(它应该位于“webkitUrl”和“window”之间),但仍然在两个控制台中。紧跟第一个窗口的日志语句/为什么显示为文档中的div?为什么这些自动生成的变量不能像其他任何变量一样从它们的父对象中删除?setTimeo

javascript - 为什么 vue.js 不使用 moment.js 使用 datepicker 更新 dom

我正在vue.js中编写一个(非常)简单的日期选择器控件,使用moment.js来格式化和改变日期。我遇到的问题是,即使在我单击任一按钮时修改了组件中的日期实例,显示也不会更新。我已经尝试将其更改为一个简单的整数而不是日期实例,并且按预期工作(DOM已正确更新)这是我的源代码:App.jsVue.component("datePicker",{props:["value"],data:function(){return{selectedDate:moment(this.value)};},template:"<{{formattedSelectedDate}}>",meth

javascript - QuotaExceededError (DOM Exception 22) : The quota has been exceeded on Safari in incognito

当我处于隐身模式时,我在Safari上收到QuotaExceededError(DOMException22):Thequotahasbeenexceeded.。我经历过类似的问题:QuotaExceededError:Domexception22:Anattemptwasmadetoaddsomethingtostoragethatexceededthequota但是他们谈论setItem,我在其他地方得到了这个错误。我在这一行收到此错误:localStorage['gallery.extensions']=JSON.stringify({});或localStorage['asdf

javascript - 释放 Javascript 中未附加的 DOM 节点使用的内存

作为我的应用程序的一部分,我将一组不会同时显示的小型Dom节点放在一起。我将它们存储在一个内部数组中。用户可以调用他们的显示,在这种情况下,我将它们重新设置为用于显示它们的div。这一切都很好。但是当需要用新的替换它们时,我想销毁旧的(有效地释放它们)。否则,随着时间的推移,内存使用量可能呈指数级增长。如何强制浏览器js引擎执行此操作?只是将我的Dom节点数组中的每个项目都设置为null就足够了吗?还有什么我必须做的吗?或者也许我根本不必担心这个? 最佳答案 如果您将每个项目设置为null,它们将被自动垃圾回收。

Javascript:DOM 异常:INVALID_CHARACTER_ERR (5)

我使用新的IE9测试了我的网站,但我收到错误消息INVALID_CHARACTER_ERR(5)。在IE9中,开发人员工具突出显示了这一行。谁能帮我解决这个错误?错误行this.iframe=document.createElement('');FunctionCode__createDivs:function(){this.divs_transparentDiv=document.createElement('DIV');this.divs_transparentDiv.className='modalDialog_transparentDivs';this.divs_transpa

javascript - 多个 DOM appendChild 的速度/效率

我必须一次创建七个div元素-包含A1、A2、A3和A4的容器A,然后是A2中的A2a和A2b。我正在多次调用这个小函数:functionu1(t,i,c,p){//type,id,class_name,parent_idvartag=document.createElement(t);//Createnodetobeappendedtag.id=i;tag.className=c;document.getElementById(p).appendChild(tag);}我的问题:是否有一种更省时的方法将这七个捆绑在一起,然后只执行一个DOM追加?还是innerHTML是一个不错的选择

javascript - 如何对与 DOM 元素交互的 Javascript 代码进行单元测试

背景:我来自Java背景,所以不太熟悉Javascript。我们计划将JavaScript单元测试引入到我们现有的(遗留)代码和future的工作中。我们主要是一家java商店(Spring、Weblogic等)。我们正在寻找能够让我们与IDE(IntelliJidea)和声纳良好集成的选项,并能够将它们作为持续集成的一部分运行。JsTestDriver似乎符合所有条件。问题:我们现有的许多javascript代码是a)嵌入在JSP中和b)利用jQuery直接与页面元素交互。我们应该如何着手测试一个严重依赖DOM的函数。以下是我正在谈论的函数的一些代码示例:functionenable

javascript - 如何使用 jquery 延迟对象检查元素是否在 DOM 中?

我想知道是否可以使用jQuery延迟对象来测试元素是否在DOM中。这是我的想法:functionchkDOM(selector){if$(selector){returndeferred.promise();}}$.when(chkDOM(selector)).then(function(){//dosomething});我不太清楚如何编写代码来实现这一点,但我希望我的问题是有道理的。如果我能让这部分正常工作,那么我基本上可以延迟某些jquery插件的调用,以便它们真正正常运行。谢谢! 最佳答案 我假设您正在运行一个定期检查选择器

dom - 建议用于构建小部件的最小 Dom 操作库

对不起查询,原型(prototype),雅虎YUI,道场在考虑小的时候不吸引我。我想要一个模块化的库,代码尽可能小,最多20Kb[uncompressed]是我所期望的。应该提供Dom操作[没有ajax和badass东西]并且可以扩展,对小部件友好。 最佳答案 microJS上有不少小型javascript库.您可能有兴趣看看$DOM(2.6kb)。或者,如果您想要更多的功能,同时仍然很小,您可以查看XUI(10.4kb,或4.2kbgzipped)。 关于dom-建议用于构建小部件的最