草庐IT

NT-DOM-NV

全部标签

javascript - 如何在纯 JavaScript 页面的不同 DOM 节点注入(inject) Angular 2 组件?

用例:客户想要构建一个由Angular2组件组成的库,但向最终用户公开抽象的、与技术无关的接口(interface)(该库的开发人员),以便这些用户可能使用纯JavaScript而不知道该库的内部结构。困难来自于:有一个页面,它使用纯JavaScript。此页面由第三方开发。第三方应该能够在页面的特定位置(DOM节点)插入给定的Angular2组件。假设组件是它应该显示在纯JavaScript页面的标题中,但不仅如此-还以页面下方的形式显示。两个不同的地方,两个不同的DOM节点,它们之间有纯html。问题:我们如何在特定DOM节点引导组件以及我们如何传递配置(不是基元而是复杂对象)那些

javascript - 如何使用 Chrome 开发工具找出引用分离的 DOM 树的内容

我正在尝试弄清楚如何准确获取哪个变量引用了分离的DOM树中的某些内容。我已将问题隔离为两个简单的View,并且我正在尝试使用Chrome开发工具(在比较View中)找出引用分离节点的内容。我附上了一张开发工具的图片……开发工具的底部显示HomeView的el已经创建了一个分离的div。但我不确定从那里去哪里。我已经阅读了一堆关于查明内存泄漏的堆栈溢出帖子和博客帖子,但我仍然无法弄清楚这一点。我知道Backbone特别容易造成内存泄漏,所以我实现了“僵尸杀”技术,但内存泄漏仍然存在。以下是我的观点:帮助查看//GeneratedbyCoffeeScript1.6.3(function()

javascript - 是否可以在使用 Angularjs 的站点上使用 Optimizely(或其他 DOM 操作 A/B 测试工具)?

我希望在我们将使用Angularjs的网站上使用Optimizely,但据我了解,这将很困难,因为Angularjs的全部目的是不操纵DOM,而Optimizely通过操纵DOM来工作。有没有人对如何使这些工具一起使用成为可能的文档有任何指导?也许我可以创建指令来帮助工具工作的结构? 最佳答案 首先,您需要将实验的“激活模式”设置为“手动”。然后,为了让Optimizely检查实验是否应该运行(即满足URL目标),您需要调用window.optimizely.push(["activate"])。这告诉Optimizely做与正常整

javascript - 检查 DOM 元素是否有焦点

我有一个使用来自ASP.NETUpdatePanel的AJAX调用显示的灯箱文本框。显示灯箱时,我使用灯箱中文本框的focus()方法立即将焦点带到文本框。在Firefox中,文本框毫无问题地获得焦点。在IE中,文本框不会获得焦点,除非我使用setTimeout(function(){txtBx.focus()},500);我假设是在加载DOM元素之后稍晚触发focus方法。问题是,在那条线的正上方,我已经在检查元素是否为空/未定义,所以如果它碰到那条线,对象应该已经存在,它只是不允许自己获得正确的焦点出于某种原因离开。显然,设置一个计时器来“修复”这个问题并不是解决这个问题的最好或最

javascript - 使用 react.js 立即强制重新渲染(更新状态并更新 DOM)

我意识到调用setState不会立即更新this.state,也不会立即调用render并刷新DOM。文档说setState()doesnotimmediatelymutatethis.statebutcreatesapendingstatetransition.Accessingthis.stateaftercallingthismethodcanpotentiallyreturntheexistingvalue.ThereisnoguaranteeofsynchronousoperationofcallstosetStateandcallsmaybebatchedforperfor

javascript - 如何将 body 元素添加到空 DOM 文档?

我有一个表示页面正文的字符串,我想从中解析一些元素。我相信(随时反驳我)最好的方法是创建一个空文档,然后添加正文并使用标准JS方法来获得我想要的内容。但我似乎无法将正文添加到文档中。在chrome中,以下代码在第2行失败并显示NO_MODIFICATION_ALLOWED_ERR:DOMException7。vardom=document.implementation.createDocument('http://www.w3.org/1999/xhtml','html',null);dom.firstChild.innerHTML="Helloworld";有什么办法可以实现我想要的

javascript - jquery 以编程方式点击新的 dom 元素

我正在尝试在jquery中做一些棘手的事情(至少对我而言)。我有一个绑定(bind)到名为add_course的函数的复选框,它看起来像这样:functionadd_course(){varid=$(this).attr('id');if($(this).is(':checked')){if($('#courseInput').val().search(id)X'+$('#course'+id+'a').html()+'');$('#courseInput').val(function(index,value){returnvalue+id+',1;';});addTotal($('#

javascript - 如何使用 jQuery 添加 DOM 元素?

我有一个函数,我目前正在使用它来显示隐藏的div.a_type我怎样才能修改这段代码,而不是在隐藏的div中淡出,我可以将新的div添加到DOMjQuery(function(){//AddAnswerjQuery(".add_answer").click(function(){if(count>="4"){alert('Only4AnswersAllowed');}else{varcount=$(this).attr("alt");count++;$(this).parents('div:first').find('.a_type_'+count+'').fadeIn();$(thi

javascript - HTML DOM 从哪里开始? window ?文档?文档.defaultView?

如标题。有没有介绍HTMLDOM构造的图片? 最佳答案 DOM(文档对象模型)从文档节点开始。它被称为“根节点”。观察下面的树(括号中对应的nodeType):[HTMLDocument](9)[DocumentType](10)[HTMLHTMLElement](1)[HTMLHeadElement](1)[HTMLTitleElement](1)[Text]Title(3)[HTMLBodyElement](1)树¹将由以下标记形成:Title请注意明显缺少空格。添加空格会将文本节点添加到文档树中,显然会使其更难模拟。windo

javascript - Backbone.js 如何在不使用 ID 的情况下跟踪 DOM 元素?

背景我使用Backbone.js已经有一段时间了,它让我印象深刻的一个方面是它如何允许我简化、抽象和重用DOM元素作为“View”。我已尝试通读一些带注释的源代码并熟悉JQuery,但对DOM如何在更深层次上工作知之甚少。问题Backbone.JS如何在不为它们分配id、类或其他属性的情况下将DOM元素绑定(bind)到View?即ItemoneItemtwoItemthree我喜欢Backbone这样做,并且想知道它如何做到这一点! 最佳答案 在javascript中,变量可以保存对DOM的某个元素的引用(即“引用”的编程事物),