草庐IT

dom-repeat

全部标签

javascript - 如何观察 DOM 的变化 AngularJS

这似乎是一个愚蠢的问题,但我需要知道如何观察页面的整个DOM并在它发生变化时重新编译它。本质上,这就是AngularJS默认使用数据绑定(bind)所做的事情,但我需要在DOM中的任何内容发生更改时发生这种情况,而不仅仅是绑定(bind)。原因是因为我有一个完全用HTML、Javascript和PHP构建的应用程序。它是一个单页应用程序,它有一个主页面并将PHP注入(inject)到该页面内的DIV包装器中。我想对其进行一些修改,但又想让我的代码与原始代码完全分开。为此,我需要能够在注入(inject)具有自己的DOM结构的新PHP文件时重新编译DOM。到目前为止,我所拥有的似乎没有用

javascript - 每 3 个项目拆分 ng-repeat

我使用AngularJS遍历一个包含事件对象数组和竞争对象数组的JSON对象。我希望显示每个event在一个表中,然后每个competition在td,但每行只有三个单元格我正在使用ng-repeat返回每个事件的表格列表,但我无法将比赛拆分为新的每三个除了从JSON重建我自己的大型对象外,执行我在Angular中描述的内容的最佳方法是什么?当前View:{{listing.name}}{{competition.id}}-{{competition.name}}期望的输出:EventNamecompetitionid-competitionnamecompetitionid-comp

javascript - 在 React 中将 DOM 元素作为 Prop 传递

所以我有一个组件需要一个DOM元素作为prop传入。我正在尝试像这样在另一个组件中使用它:...但这不起作用,因为(我怀疑)在我调用this.refs.myPropDiv时DOM尚未呈现。我将如何完成这样的事情? 最佳答案 在大多数情况下,这不是一个好主意,至少看起来不像是在遵循React的方式。首先,通过refs获取该div,您不会获取DOM元素,而是获取该div的支持实例。您可以获得像toomanyredirects所建议的那样的DOM元素。无论如何,你想要达到什么目的?React的一个优点是您不必弄乱原始DOM,而是使用虚拟D

javascript - 高效查找出现在指定 DOM 元素上的 DOM 元素

如何高效地找到位于指定查询元素之上的所有DOM元素?也就是说,我想要一个Javascript函数,当我传入对DOM元素的引用时,它将返回一个包含所有DOM元素的数组,这些元素与输入元素有非零重叠并在视觉上显示在它上方。我的具体目标是找到那些可能在视觉上阻挡其下方元素的元素。上下文是我对网页、查询元素或其他任何东西都没有高级知识的上下文。出于各种原因,元素可能会出现在其他元素之上。我当然可以通过对DOM的详尽搜索来做到这一点,但是当DOM树变大时,这非常低效且不实用。我还可以使用较新的elementFromPoint从查询元素中采样位置,以确保它确实在顶部,但这似乎效率很低。关于如何更好

javascript - 为什么 CSS 转换发生在 unshift() 而不是 ng-repeat 列表中的 shift()?

我正在使用ng-repeat和CSS转换移动页面中的一些元素。如果我使用unshift更改数据数组,列表会很好地转换。(在我的应用程序中,我正在转换位置和不透明度。)但是,如果我使用shift来更新数组,DOM会立即更新而不会发生任何转换。Here'sademo一种方法,除了转换之外,所有方法都按预期工作。比较使用这两个按钮时的行为。$scope.items.push($scope.items.shift());Here'sanotherdemo另一种方法,其中转换有效,但每次函数运行时数组都会丢失一个元素。$scope.items.shift($scope.items.push())

javascript - 使用 ng-repeat 以 Angular 列出每行 2 个元素的最佳方法?

我有一个对象数组,我想使用ng-repeat为每行显示2个对象。我想出的解决方案如下:{{elements[$index].name}}{{elements[$index+1].name}}问题是我无法使用|过滤内容以正确的方式过滤,因为它会显示过滤后的元素和后续元素。解决问题的最佳方法是什么?抱歉我的英语不好,这不是我的母语。提前谢谢你。 最佳答案 正如@JoshuaOhana在评论中所说,一个好的解决方案是预处理您的数组,然后使用您的解决方案。基于您的解决方案的快速而肮脏的选择(无需预处理)将过滤span元素内的数组:{{(el

javascript - 全局记录 jQuery 错误(事件和 DOM 错误)

由于现在的系统越来越多地面向Javascript(jQuery、AJAX等),我们一直在努力为这些事情中的任何一个记录越来越多的错误日志。我担心的是,在jQuery本身中,当创建或执行正常的DOM操作/jQuery事件时,window.onerror无法捕获这些,这可能有助于调试错误生产速度更快,让他们登录服务器在2008年的这篇文章(.onerror&jQuerybindtry/catch{})中,他们向jQuery.bind()事件try/catch{}>甚至是document.ready事件。现在一切都通过.on()事件,这篇文章有点过时了,但我觉得逻辑仍然有效......有没有

没有引用 DOM 元素的 Javascript/Prototype : Get css values,?

是否可以通过在CSS文件中定义的类名(例如类的宽度)检索样式属性,而不必从DOM中的实际元素中获取它? 最佳答案 是的。查看document.styleSheets属性。https://developer.mozilla.org/en-US/docs/Web/API/document.styleSheetshttp://www.quirksmode.org/dom/tests/stylesheets.html 关于没有引用DOM元素的Javascript/Prototype:Getcss

javascript - 当使用来自 react-router-dom 的 `Failed to execute ' 时,为什么 'History' pushState' on `Link` `

我看过类似的帖子,但找不到答案,就我而言,我正在尝试传递来自的操作:addExpense=(expense)=>{console.log('HelloFromAddExpenseForm');}到/create我渲染的路线组件CreateExpense链接已呈现,但当我点击它时,控制台出现错误:UncaughtDOMException:Failedtoexecute'pushState'on'History':function(expense){console.log('HelloFromaddExpense');}couldnotbecloned这是为什么?解决方法是什么?我更新的代

javascript - 检查 DOM 元素是否可以与之交互

在我的html5应用程序中,我做了很多动态dom元素创建/操作。在某些情况下,我需要验证一个元素(例如div)是否可以被用户“点击”。“可点击”是指满足以下两个条件:它的计算CSS样式意味着它实际显示(即元素及其所有父元素的display和visibility属性)它不会被任何其他元素遮挡,无论是具有更高的z-index还是稍后创建的绝对定位元素-在DOM的任何级别上,而不仅仅是其兄弟元素。我可以使用纯JS或jQuery。使用jQuery可以很容易地检查第一部分(即使用.is(':visible')。但是,如果我有一个元素被另一个元素遮盖了,这仍然返回true。如何检查元素是否真正可点