草庐IT

dom-selection

全部标签

javascript - 附加的事件处理程序 'meta-data' 存储在哪里?在 "DOM,"对象上,或者...?

我一直想知道...所以你有这样的代码:$('#click-me');然后你附上它:$('#click-me').click(someFunction);“元数据”在哪里:“嘿“jQuery-object#click-me”,当你被点击时,我会指向'someFunction'!”我知道事件处理程序可能会被破坏,例如我在Backbone.js中的情况,由于我重新呈现整个页面,我的事件停止触发,沿途破坏了一些背景函数/对象/View..(这就是我问这个问题的背景)现在,我的问题是:事件“元数据”存储在哪里以及如何销毁它们?它们是否存储在将其绑定(bind)到函数的函数中?它们是否在DOM“元

javascript - d3 : what is the self as in d3. select(self.frameElement).style ("height", height + "px");

我在许多D3示例中看到过如下语句。但是,我无法找出它的含义。特别是,我不知道这个self变量指的是什么。此外,这是否体现了某种D3魔术/惯例,或者它只是一个临时的东西?非常感谢。d3.select(self.frameElement).style("height",height+"px");顺便说一句,here是我复制上面语句的例子。 最佳答案 self:如果没有重新定义(通常作为this的副本),那么它就是始终指向windowwindow对象。因此它们可以互换使用。window.frameElement:返回嵌入窗口的元素(例如或

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 - 有条件地将 "multiple"属性添加到 ui-select

我正在尝试使用ng-attr-multiple属性添加到ui-select指令指令。不幸的是,这对我不起作用。我已经设置了一个plunker示例来展示正在发生的事情。PlunkerExample 最佳答案 编辑看完上面提到的GitHubIssue终于明白了在Angular仓库中。您需要设置一个具有更高优先级的指令,并将terminal属性设置为true(它会跳过所有其他指令的编译,在我们的编译之后指示)。然后在postLink函数中,我们将编译整个元素本身。但在此之前我们自己的指令需要被删除(无限循环!)。大人物出局Adddirec

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 - 检测 HTML select 元素是否展开(无需手动跟踪状态)

我想检测下拉列表是否展开。我不想为单击/鼠标悬停等使用额外的事件处理程序,因为下拉菜单是动态的,并且由于其他原因我不能使用jQuerylive之类的东西。基本上我想要一些可以给任意select元素(没有其他附加的事件处理程序、类等)的东西,可以给出是否扩展的真/假答案。对于我的特定应用程序,我正在处理鼠标滚轮事件,但不想在下拉菜单打开时处理它们(这会覆盖浏览器的默认功能)。但是,当鼠标悬停在select上但没有打开它时,我仍然想处理鼠标滚轮事件。 最佳答案 出于类似的原因,我之前调查过这个问题。除了尝试手动跟踪它之外,我永远找不到解

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 - Select2 - Ajax 搜索 - 记住最后的结果

我正在使用Select23.5.1。使用此插件,我可以成功加载远程数据。但是,我今天在这里提出一个问题以改进此搜索。这是了解我想做什么的分步操作:设置一个带有远程数据加载的Select2(使用ajax)。点击Select2输入并搜索内容。加载将出现,几秒钟后您将看到结果列表。单击其中一个列出的结果-结果框随后会消失。如果再次单击搜索框,列表将为空,您需要再次键入一些新文本才能获得结果列表。有没有可能当我们再次点击搜索框时,没有任何ajax调用,之前搜索的结果列表重新出现?然后,如果用户删除一个字符或更改他的搜索条件,它将再次触发ajax搜索。如果可能,我们将如何编码?我希望我的问题很清

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