草庐IT

virtual-dom

全部标签

javascript - cucumber-js 和 Chai 如何期望具有给定选择器的元素是否存在于 DOM 中

我对cucumberjs有疑问。我找不到办法确保具有给定选择器的那个元素被呈现到DOM中。我在用着cucumberjs与Chai。https://github.com/cucumber/cucumber-jsisPresent返回对象——不管元素是否存在。所以问题是如何检查DOM中是否存在元素。我将编辑问题以分享一个经验教训。我阅读文档还要感谢NathanThompson。存在()返回一个promise,该promise将解决该元素是否存在于页面上。http://angular.github.io/protractor/#/api?view=Protractor.prototype.i

javascript - 如何在不使用 Shadow DOM 的情况下创建组件?

我正在尝试创建一个没有ShadowDOM的组件。是的,我知道,ShadowDOM非常棒,而且是WebComponents的主要焦点之一。但是,假设我想要一个组件的样式从父级继承。使用ShadowDOM1ViewOneUtlaboresminimumatomorumpro.Laudemtibiqueuthas.Loremipsumdolorsitamet,perinnusquamnominavipericulis,sitelitoportereea.Loremipsumdolorsitamet,perinnusquamnominavipericulis,sitelitoportereea

javascript - 为什么现代 JavaScript 框架不鼓励与 DOM 直接交互

在处理AngularJS、Angular和React等JS框架时,我观察到不鼓励直接与DOM交互,如果忽略警告,通常会导致错误。当我说“与DOM交互”时,我的意思是使用document.getElementById('myElement')和类似的方法来执行一些操作或从文档中读取值。我的问题本质上是为什么?。这是一个虚拟DOM问题吗,其中React(例如)没有跟踪实际DOM,因此如果您“自行”进行更改而不通知React并随后更新虚拟DOM,您会措手不及吗?在这种情况下,Angular会有同样的问题吗?如果有人只了解特定框架,我会非常有兴趣阅读我的问题的答案,即使它没有被概括。显然,我要

javascript - 通过 parentNode.removeChild 删除元素会抛出 DOM Exception 8

我的代码大致如下(我删除了一些不相关的部分):Library.focus=function(event){varelement,paragraph;element=event.srcElement;paragraph=document.createElement("p");paragraph.innerText=element.innerText;element.parentNode.insertBefore(paragraph,element);//Line#1element.parentNode.removeChild(element);//Line#2};我遇到的问题是,我编号为

javascript - 每个 DOM Node 的屏幕截图

如何为任何站点中的每个DOMNode创建屏幕截图?我尝试使用headless浏览器(puppeteer),只有当我知道某些元素的XPath或选择器时它才能工作。但是如何接收所有元素的XPath或选择器?asyncfunctionscreenshotDOMElement(opts={}){constpadding='padding'inopts?opts.padding:0;constpath='path'inopts?opts.path:null;constselector=opts.selector;if(!selector)throwError('Pleaseprovideasel

javascript - Rhino 和 DOM 支持

Rhino是否支持使用DOM对象? 最佳答案 是的,E4X是一个简单的DOM实现...可能比普通的JavaDOM实现更好。 关于javascript-Rhino和DOM支持,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4911689/

javascript - 克隆一个 DOM 事件对象以重新分发

有些浏览器不允许您重新分派(dispatch)已经分派(dispatch)的事件,但允许您根据可以从现有事件对象获得的值创建新的事件对象。是否有适用于任何事件类型的通用且可重用的解决方案,或者如果没有,是否有针对特定事件类型执行此操作的方法(在我的例子中,我目前关注的是mousewheel事件)? 最佳答案 现在似乎有更好的解决方案,因为initMouseEvent等已被弃用。MouseEvent()例如,构造函数将一个属性表作为它的第二个参数,您可以为此使用现有的MouseEvent对象:letmy_event=newMouseE

javascript - 在 IE 中使用带有数据属性的 javascript 向 DOM 添加脚本标签

在我的页面上运行一些东西后,我需要将以下脚本标记添加到DOM:我知道最好所有的东西都在我的require文件中,但现在我需要修复它才能在IE中工作。我在FF/Chrome中工作的是:varscript=document.createElement('script');script.setAttribute('data-main','js/main');script.src='lib/Require/require.js';document.getElementsByTagName('script')[0].parentNode.appendChihld(script);但是,当我尝试设

javascript - 使用 javascript/jquery 访问影子 DOM 属性( polymer )?

我目前正在使用polymer的core-scaffold&co。创建带有内容区域的页眉/侧边栏。我目前遇到的问题是我无法访问内容元素的某些属性,例如scrollTop。(因为我需要访问的实际scrollTop属性是在影子DOM中定义的。)这与我正在使用的lazyloadjquery插件冲突。该插件正在检查window.scrollTop但更改插件以检查我的内容(滚动而不是窗口)的scrollTop不会有任何影响,因为scrollTop在影子DOM中“隐藏”。有没有办法访问影子DOM元素?我唯一能找到的是访问你自己用createShadowroot(或者它被调用的任何东西)创建的影子DO

javascript - DOM 元素宽度可以是非整数吗?

我有一些页面的div元素由JavaScript对齐。JavaScript只是检查一组div元素以找到最大offsetWidth,然后设置所有div元素的width成为最大offsetWidth。它在大多数浏览器和语言环境中都能完美运行,但在Mac上的Firefox中无法使用法语。在这种情况下,div的内容会换行。Heurededébut:对于上面的HTML,下面的代码报告“79”。javascript:alert(document.getElementById('divFoo').offsetWidth);但下面的代码报告“79.1333px”。javascript:aler