草庐IT

dom-repeat

全部标签

javascript - 如何在没有 jQuery 的情况下检测 DOM 元素突变

假设我有以下HTML:我希望在此元素上发生高度突变时收到提醒。我希望MutationObserverclass会在这方面有所帮助,但这是我的问题:document.querySelector('#content').style.height='100px'它会像预期的那样触发我的回调,但是正常的用户交互不会触发它,例如http://jsfiddle.net/wq4q9/2/我的问题是,检查元素高度是否发生变化的最佳现代方法是什么?请不要使用jQuery。 最佳答案 我认为除了投票之外,您无能为力。(另一种不会触发您的观察者的方式是,

html - 如何卡住 dom 树的状态(不使用 js "debugger"语句)来检查它?

也许我对浏览器的开发工具要求太多了,但是...有没有什么方法可以简单地卡住网页的状态,而无需在JS代码中找到相关行并放置调试器声明?(不是特定于浏览器的问题,任何可以执行此操作的浏览器都很好)我有一种情况,我想检查页面上的一些DOM,这些DOM只能在以下时间之后访问:我点击了一个特定的按钮它在模糊事件后消失(例如,一旦我在检查器中找到父元素并点击它,它立即消失)。因为它在点击时触发,“强制元素状态”也无济于事。谢谢! 最佳答案 在Chrome中,如果你知道界面中包含的元素将被修改,然后右键单击它并“检查元素”(或者如果这对你来说更容

javascript - 在不阻塞 dom 的情况下从后端渲染 ($compile) html 到 View 中

语境我需要在我的AngularJS(v1.4)应用程序中加载一些从后端获取的HTML并将其(html)插入我的partial(已加载)。部分已经加载了一些HTML(并且功能齐全)。现在我可以加载HTML并使用此处发布的指令(CompilingdynamicHTMLstringsfromdatabase)对其进行编译。请参阅下面的代码。问题但是...当部分HTML已加载(部分已加载且正常运行)然后我从后端获取另一个HTML内容时,指令正在编译新内容,即整个文档(DOM)被“卡住”。我无法输入内容或点击任何按钮,包括我之前加载的HTML中的按钮。问题我如何加载HTML内容,在“后台”$co

javascript - Light DOM 样式泄漏到 Shadow DOM 中

我正在尝试创建一个带有float小部件的Chrome扩展程序。为此,我必须将我的元素与页面的其余部分隔离开来。ShadowDOM看起来非常适合它,但它并没有达到我的预期。这是我的内容脚本:内容.jsvarlightDom=document.createElement('style');lightDom.innerText='div{color:red}';document.body.appendChild(lightDom);varshadowDom=document.createElement('div');document.body.appendChild(shadowDom);v

jquery - 使用 JQuery 很好地向 DOM 添加 HTML 元素

目前,我通过在双引号内appendhtml向DOM添加元素,这会变得非常困惑并且很难阅读,特别是如果你在其中有变量,在React中你会使用干净的JSX,有没有办法在普通的JQuery脚本或类似JSX的脚本中使用JSX? 最佳答案 是的,有两个选择:模板文字JSX模板文字在现代JavaScript中,您可以使用模板字面量而不是字符串字面量,并且它们可以包含带有JavaScript表达式的占位符:letcounter=0;$(`Cell${counter++}Cell${counter++}Cell${counter++}Cell${c

html - 在 CSS Grid 中混合固定长度和 repeat()

我正在尝试使用网格布局制作日历。一周中的每一天都会有一个标题。我的目标是将标题(即:网格中的第一行)的高度设置为30px,并让其余行分割剩余的可用空间。我的日历CSS如下所示:.calendar{display:grid;grid-template-columns:repeat(1,1fr);grid-template-rows:30pxrepeat(auto-fill,1fr);}现在,我认为完全可以满足我的要求,但是30px没有任何效果,而且每一行的高度都相等。是否可以混合使用静态值和repeat()?我意识到我可以只制作2个网格-一个用于标题,一个用于日期-但我很好奇是否有更简洁

c++ - 如何从 Firefox 外部访问 Firefox 的 DOM(或 HTML 内容)

我有一个问题:我的程序将搜索用户打开的FireFox窗口。当用户打开Firefox并进入任何站点时,我想在该页面的HTML内容中搜索关键字。如何使用我的C++程序从Firefox外部访问Firefox的事件选项卡的DOM(或HTML内容)。这可能吗?如果是这样,你能给我一些想法或链接吗?如果不可能,我如何在不安装/设置任何东西的情况下将文本复制到Firefox中的剪贴板?最好的问候,努里·阿克曼 最佳答案 没有从外部程序访问Firefox内部网页的DOM的内置方法。您可以编写一个实现某种IPC的扩展(使用套接字或其他)并与之通信,但

internet-explorer - HTML/DOM : What is standards equivalent of document. body.scrollHeight?

近十年来我一直在使用:document.body.scrollHeight返回浏览器窗口的“理想”高度。当我使用quirks-mode文档类型强制InternetExplorer进入quirks模式时,这工作正常:现在我想选择加入标准模式,除了themeaningofscrollHeighthaschanged:怪癖模式:document.body.scrollHeight=文档的高度标准模式:document.body.scrollHeight=的高度元素document.body.scrollHeight的标准模式是什么??另见quirksmode.org:W3CDOMCompat

javascript - 大型SVG渲染期间的DOM操作

好的,所以我正试图通过设置“正在加载…”消息和百分比指示器来完成我的项目。很简单。问题是我有超过6000行的代码,这些代码向Raphael/SVG注入了一些行2000+的新节点。因此,当我试图更改加载消息时的百分比指标时,真正的问题就出现了,但是浏览器只是被冻结,直到DOM完成创建所有这些节点。我尝试过的和我知道的:1)我有一个非常简单的函数,通过增加Raphaelvar并将这个函数扩展到6000个代码中,来计算负载的百分比。这样我就模拟了实际的加载过程。没什么新鲜事。2)我知道这个函数就像魔术一样工作,通过加载过程,我实际上得到了从0%到100%的英雄。3)在这个函数中,每次我得到新

javascript - 即使没有任何变化,触摸 DOM 是否会触发回流和重绘?

我正在开发一个小型JavaScript模板引擎,我有两种可能的方法来处理模型更改时对DOM的更新:在执行之前检查是否真的需要DOM更新。这样做的好处是不会冒不必要的更新风险,但我在跟踪旧值上浪费了空间。if(oldValue!==newValue){element.textContent=newValue;}就去做吧。这显然更简单,但我担心我会无缘无故地触发重绘和回流。element.textContent=newValue;请注意,我还通过调用setAttribute、addClass和removeClass以及设置style[prop]=值。所以,我的问题是:现代浏览器是否足够聪明