草庐IT

dom-traversal

全部标签

javascript - 如何用 selenium 重新加载 html DOM,以便新命令定位新节点?

所以我正在做一些测试,其中一个页面会在单击某些按钮和链接后更改它的html树。但是webdriver一直只在旧的htmlDOM中搜索。那么如何定位新添加的网络元素呢?或者如何让webdriver加载新的HtmlDOM以便它以新元素为目标?谢谢 最佳答案 WebDriver会自动轮询DOM。只需在与最近添加的网络元素交互之前使用隐式或显式等待:http://www.seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits

javascript - react - 在不破坏封装的情况下访问 DOM

是否有一种规范的方法可以在不破坏封装的情况下执行类似以下的操作?importReact,{Component,PropTypes}from'react';classDashboardextendsComponent{constructor(props,context){super(props,context);this.setRef=::this.setRef;}componentDidMount(){constnode=ReactDOM.findDOMNode(this.someRef);constnewHeight=window.innerHeight-node.offsetTop

javascript - 在渲染之前 react DOM offsetHeight

我需要能够通过offsetHeight定位ReactDOM元素。问题是我无法收集尚未创建的元素的offsetHeight(因此无法将高度作为参数传递给渲染函数)并且我也无法计算渲染内部的高度功能如ReactDOMrefs文档中所述:Neveraccessrefsinsideofanycomponent'srendermethod–orwhileanycomponent'srendermethodisevenrunninganywhereinthecallstack.DOM元素应该相对于单击以显示它的图标呈现。组件树:|—FormInputGroup|—Label|—TooltipIco

javascript - Angular 2 组件 DOM 在 OnInit 方法中被解析之前绑定(bind)到组件中的属性

我正在学习Angular2并尝试按照他们的教程进行操作。这是返回模拟对象文件夹的“Promise”的服务代码。import{Injectable,OnInit}from"@angular/core";import{FOLDER}from"./mock-folder";import{Folder}from"./folder";@Injectable()exportclassFolderService{getFolder():Promise{returnPromise.resolve(FOLDER);}}它在我的FolderModule的提供者中声明import{NgModule}from

javascript - 如何防止使用 Parsleyjs 从 DOM 中删除表单验证错误

我正在使用parsleyjs验证密码字段.密码有三个要求,因此有三个验证消息:密码至少需要8个字符需要一个特殊字符需要一个号码当验证返回成功时,我不希望消息被删除,而是保留在原地并视觉上设置消息的样式,在这种情况下带有绿色复选标记(默认情况下消息有红色错误图标)。所以基本上想添加一个类或删除并保留DOM中的消息。例如,当插入一个整数时,验证可能如下所示:欧芹是否可以防止默认行为(删除消息)并将成功的类添加到相应的错误消息(而不仅仅是错误列表容器)?这是我目前所拥有的和一个codependemo$(function(){$('.form').parsley();});window.Par

javascript - 我可以连接一个字符串和一个变量来在 JavaScript 中选择一个 DOM 元素吗?

我尝试用谷歌搜索这个问题,但没有成功。可能是因为我问错了方式。非常感谢任何帮助。我有变量copy1、copy2等。我想遍历它们并选择每个变量以检查其内容是否具有一定数量的字符。当我使用下面的任何变体时,它会控制错误或在控制台中输出字符串。varcopy1=document.getElementById('copy1');varcopy2=document.getElementById('copy2');varcopy3=document.getElementById('copy3');for(vari=0;i理想情况下,我可以通过javascript选择一个元素和样式。非常感谢谢谢大家

javascript - 将 getElementById 用于 [尚未] 在 DOM 中的元素?

据我所知,document.getElementById('myId')只会查找文档中已有的HTML元素。假设我通过JS创建了一个新元素,但我还没有将它附加到文档主体,是否有一种方法可以像我通常使用getElementById那样通过它的id访问这个元素?varnewElement=document.createElement('div');newElement.id='myId';//Withoutdoing:document.body.appendChild(newElement);varelmt=document.getElementById('myId');//won'twor

javascript - 用于普通 javascript 对象而不是 DOM 元素的 jquery 选择器

我刚开始使用jquery,我非常喜欢使用选择器。我突然想到,这个成语是遍历对象树(例如,JSON查询结果)的一种非常好的方式。例如,如果我有这样一个对象:varobj={'foo':1,'bar':2,'child':{'baz':[3,4,5]}};我希望能够编写类似$('childbaz:last',obj)的代码并得到5。我知道链接不起作用,但我仍然喜欢选择运算符。任何人都知道这样的野兽是否存在,或者写一个最简单的方法是什么? 最佳答案 这是让jQuery本身在对象上工作的概念验证实现。通过对象包装器(FakeNode),您可

javascript - 将大型元素/数据集附加到 dom 的性能

我一次附加大量表格行元素,遇到了一些主要瓶颈。目前我正在使用jQuery,但如果它能完成工作,我愿意接受基于javascript的解决方案。我需要在给定时间追加0-100表行的任何地方(实际上可能更多,但我会对超过100行的任何内容进行分页)。现在我将每个表行单独附加到dom...loop{..buildhtmlstr...$("#myTable").append(row);}然后我将它们全部淡入淡出$("#myTabletr").fadeIn();这里有几件事需要考虑...1)我将数据绑定(bind)到每个单独的表行,这就是为什么我首先从批量追加切换到追加单独的行。2)我真的很喜欢淡

javascript - 为什么 javascript 中的对象字面量会保存不必要的 DOM 引用?

来自this文档,不要这样做car=newObject();car.make="Honda";car.model="Civic";car.transmission="manual";car.miles=1000000;car.condition="needswork";改为这样做car={make:"Honda",model:"Civic",transmission:"manual",miles:1000000,condition:"needswork"}因为ThissavesspaceandunnecessaryDOMreferences.但是DOM只是在HTML、XHTML或XML