草庐IT

虚拟DOM

全部标签

javascript检查DOM元素是否存在最佳实践

检查javascript中是否存在DOM元素的最佳做法是什么?是否应该像这样在使用之前检查一项是否存在?if($("#"+machineId+packageId.removeSpecialChars().toUpperCase()+"").size()!=0){varrow=$("#"+machineId+packageId.removeSpecialChars().toUpperCase()+"");}这不会执行packageId.removeSpecialChars().toUpperCase()两次吗?或者这会是更好的选择吗?varrow=$("#"+machineId+pack

javascript - 通过更改底层数组动态更新 dom-repeat 模板

是否有Polymerdomapi方法或其他方法自动更新带有附加元素的重复模板,底层数组是否应该更新?我有一个动态数组,它通过重复调用ajax来更新。该数组不断更改其长度(根据ajax响应逐渐添加或删除元素)。数组通过体现在文档中.有没有办法在底层数组更新时自动更新dom?目前我能看到的方式只有识别增量更新并手动追加或删除节点。删除整个重复模板容器并重新标记一个新模板。反正我也不知道动态标记新模板。这可能吗?我能想到的实现这一点的一种方法是让另一个自定义元素重复模板冲压,每当有数组更新时,删除当前元素,通过将更新的数组传递给元素来附加一个新元素。通过使用2,我将无法在View中使用列表自

javascript - 如何仅使用 DOM 将所有元素上的一个类替换为另一个类?

我只想将一个类名更改为另一个。我试过document.getElementsByClassName("current").setAttribute("class","none");但它不起作用。我是JavaScript的新手。 最佳答案 解释document.getElementsByClassName返回一个HTMLCollection,而不仅仅是一个元素数组。这意味着该集合是实时的,因此在这种特定情况下,它保留了将始终保存所有类为“current”的元素的要求。巧合的是,您正在删除集合所依赖的类,因此更新了集合。如果您在循环中设

Javascript 正则表达式从 DOM ID 中删除非法字符

我在网页上动态创建了许多DOM元素。他们的ID是从外部列表生成的,有时这些名称可能包含ID的非法字符,如“@”或“&”。我需要删除不符合以下规则的字符:字符串必须以字母开头第一个字符后面可以跟任意数量的字母、数字([0-9])、连字符("-")、下划线("_")、冒号(":")和句点(".")所以,如果原始字符串是:99%ofPeoplearenotthe1%然后删除非法字符的结果字符串将是:ofPeoplearenotthe1谁能帮我用Javascript编写正则表达式,从字符串中删除不符合上述要求的字符? 最佳答案 varstr

javascript - polymer 1.0 : Help using dom-if

有人可以提供一个正确实现dom-if的例子吗?officialdocumentation没有提供正确使用的示例.(抱歉,没有直接链接。必须使用左上角的菜单并选择dom-if)。这是我目前所拥有的。显然,它不起作用。...Forgotpassword?... 最佳答案 这很麻烦,但你必须这样做:Forgotpassword?Polymer({..._actionIsLogin:function(action){returnaction==='Login';}...});显式创建返回true或false的函数。

javascript - Angular js-值更改时突出显示dom

这里是Angularnoobie。我想知道当范围内的值通过某种方式发生变化时更改dom的最佳方法是什么。我读到将dom操作逻辑放在Controller中是不好的,这就是指令的工作。这是一个笨蛋http://plnkr.co/edit/xWk5UBwifbCF2raVvw81?p=preview基本上,当通过单击上面的plunkr中的加载数据按钮更改数据时,我希望值更改的单元格自动突出显示。我无法让它为我的生活工作。有什么帮助吗? 最佳答案 我认为最好观察每个highlighter的具体值,而不是观察整个集合。例如:{{person.

javascript - 在 JQuery 中,如何检查 DOM 是否准备就绪?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:javascriptdomready?我想检查$(function(){});是否“准备就绪”。如果DOM准备就绪则返回true,否则返回false

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

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

javascript - 在 iPhone Safari 虚拟键盘上打字时滚动到所选元素

我正在构建一个iPhone网络应用程序,并且有一个带有输入字段的页面。我希望该字段在出现时向上滚动到虚拟键盘的正上方。我尝试在输入焦点事件上放置一个scrollTo(x,y)(即在键盘出现之前),但是当我开始输入时,页面再次向上滚动(大概是基于默认的移动safari行为)。我还尝试设置按键事件处理程序,但阻止这些事件的传播只是禁用了键盘,尽管它确实阻止了滚动。当虚拟键盘出现时,有什么方法可以强制页面位于特定位置(输入字段刚好在键盘上方),并且当我恢复输入时它不移动? 最佳答案 好吧,这可能是您见过的最糟糕的黑客攻击,但它无可匹敌。你

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

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