问题标签 [dom]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - 找出四个div中可见的div
我需要使用 jQuery 从四个可能的 div 中找出哪些 div 是可见的。在任何给定时间,只有其中一个 div 是可见的。
到目前为止,这就是我所拥有的:
有没有办法重构这个?有没有更简单的方法来解决这个问题?
javascript - JavaScript 中的 innerHTML 操作
我正在开发一个网页代码,它从服务器动态获取内容,然后使用类似的东西将此内容放置到容器节点
有时我必须覆盖此节点中以前的一些内容。这很好用,直到以前的内容占用更多的垂直空间然后新的内容会占用并且用户向下滚动页面 - 滚动超过新内容允许的高度,前提是它的高度。
在这种情况下,页面会错误地重绘——旧内容的一些伪影仍然存在。它工作正常,甚至可以通过最小化和恢复浏览器(或强制以其他方式重绘窗口)来消除伪影,但这似乎不太方便。
我只在 Safari 下测试这个(这是一个 iPhone 优化的网站)。
有人知道如何处理这个问题吗?
javascript - 在页面 DOM 加载时收到通知(但在 window.onload 之前)
我知道有一些方法可以在页面正文加载时获得通知(在所有图像和第 3 方资源加载触发window.onload事件之前),但对于每个浏览器来说都是不同的。
是否有明确的方法可以在所有浏览器上执行此操作?
到目前为止,我知道:
DOMContentLoaded:在 Mozilla、Opera 9 和最新的 WebKits 上。这涉及向事件添加侦听器:
document.addEventListener("DOMContentLoaded", [初始化函数], false );
延迟脚本:在 IE 上,您可以发出带有 @defer 属性的 SCRIPT 标记,该标记仅在 BODY 标记关闭后才会可靠地加载。
轮询:在其他浏览器上,您可以继续进行轮询,但是是否有标准的事情可以轮询,或者您需要在每个浏览器上做不同的事情?
我希望能够不使用 document.write 或外部文件。
这可以通过 jQuery 简单地完成:
但是,我正在编写一个 JS 库,不能指望 jQuery 总是在那里。
java - getChildNodes() 返回的 DOM NodeList 的顺序
DOM 方法getChildNodes()
返回NodeList
当前Node
. 在订购aNodeList
时,列表是否保证按文档顺序排列?
例如, given保证返回一个with ,<a><b/><c/><d/></a>
并且按那个顺序?a.getChildNodes()
NodeList
b
c
d
javadoc对此并不清楚。
javascript - 如何使用 Javascript 在浏览器中通过 XY 坐标进行定位?
我正在努力做到这一点,因此当用户向下滚动页面,单击链接,做他们需要做的任何事情,然后返回带有链接的页面时,它们位于相同的(xy)位置他们以前的浏览器。我怎么做?
我是 DOM 新手,所以我不太了解如何执行此操作。
目标浏览器:IE6/7/8、Firefox 2/3、Opera、Safari
补充:我正在使用一个叫JQuery的程序来帮助我学习
javascript - 当我复制它的容器时,如何让最近更新的表单项在 Firefox 中“粘贴”?
我有一个包含一些输入框的 dl,我用一些 JavaScript “克隆”了这些输入框,例如:
在 IE 中,sourceBox 中的表单在 newBox 中重复,并带有用户提供的值。在 Firefox 中,在原始 sourceBox 中输入的最后一个值在 newBox 中不存在。我如何制作这个“棒”?
javascript - 如何使用 Scriptacolus 的节点生成器插入 html
例如这段代码
导致显示 p 和 a 标签,如何防止它们被转义?
javascript - 当内容来自 Ajax 调用时,访问 div 的内容时出现问题
这是一个非常简单的原型示例。
它所做的只是在窗口加载时,将一些 html 粘贴到 div 中的 ajax 调用。
令人困惑的是 Prototype 理解 div 实际上包含内容的上下文。
如果您查看 ajax 调用的 onSuccess 部分,您会发现此时 $('content').innerHTML 中有内容。
但是,当我在 ajax 调用之后立即检查 $('content').innerHTML 时,它似乎是空的。
这一定是我的一些基本误解。有人愿意向我解释吗?
编辑
我只是想澄清一些事情。我意识到 Ajax 调用是异步的。
这是执行事物的实际顺序以及为什么它让我感到困惑:
- 页面加载。
- 向 get-table.php 发出 Ajax 请求。
- 发生在 onSuccess 内部对 click1() 的调用。我看到 div 有内容的警报。
- 在 Ajax 调用发生之后对 click1() 的调用。我看到 div 为空的警报。
所以这就像代码是按照它编写的顺序执行的,但是 DOM 并没有按照相同的顺序更新。
编辑 2 所以简短的回答是把代码放在 onSuccess 是正确的地方。
另一种需要考虑的情况是您进行 Ajax 调用,然后从第一个调用的 onSuccess 进行另一个 Ajax 调用,如下所示:
php - 如何从 PHP5 中的用户输入创建 DOM?
如何从 PHP5 中的用户输入创建 DOM?