- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我有以下 DOM 结构
<body>
<div>
<table>
<outerElement>
<innerElement />
</outerElement>
<table>
</div>
</body>
DIV 的溢出设置为自动,因此如果表格变大 - 它会在 DIV 内滚动。
在这种情况下,为什么 table.offsetParent
返回主体,而 table.parentNode
和 parentElement
都返回 Div?
我需要计算 innerElement
在窗口中的当前位置,所以我从它向上遍历所有父元素,收集它们的 offsetTop
和 offsetLeft
值。直到 DIV offsetParent
工作正常,然后它直接跳到正文。如果在某个时候涉及滚动,我需要考虑 scrollTop
和 scrollLeft
的问题 - 就像在上面示例中的 DIV 中一样。问题是如果我使用 offsetParent
我永远不会遇到 DIV 作为 parent 之一。
更新
这是执行遍历的代码的一部分:
while (oElem && getStyle(oElem, 'position') != 'absolute' && getStyle(oElem, 'position') != 'relative') {
curleft += oElem.offsetLeft;
curtop += oElem.offsetTop;
oElem = oElem.offsetParent;
}
其中 getStyle
是一个自定义函数,在本例中用于检索位置样式。
最佳答案
offsetParent
是具有 position:relative
或 position:absolute
或页面主体的最近父级。 parentNode
是直接父节点,与 position
无关。
关于javascript - offsetParent 与 parentElement 或 parentNode 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17974859/
var topClick = function() { child = this.parentNode.parentNode.parentNode.parentNode; child.pare
在我的代码中,函数 displayUserTable 将一些名为 tUserBlock 的 div 附加到名为 centralWindow 的主 div。当您单击 tUserBlock 时,会从名为
这是一种病态的情况,但假设我有以下 HTML: [...] 我有一个表格的引用,例如 var form = document.getElementById(
我正在使用以下代码片段来更新表中的某些文本框值。 ProjectName Block .WorkProgressMilestone Completion
我有一个创建 HTML 表格的函数: makeHTMLTable: function(array){ var table = document.createElement('table');
我已经开始使用 d3,此时我正在编辑给定的脚本以满足新的要求。我尝试访问变量,但无法访问它。有人可以帮我吗? 问题出在第 5 行,我无法获取“this.parentNode”,但我需要它。 有人能指出
我正在通过为自己设置一些小练习来练习基本的 JS 技能。在这个中,我有一个列表 s 位于 div 内。练习的目的是包装每个 在一个 div 中。我正在使用replaceChild在这种情况下。 奇怪
我的 javascript 程序基本上创建一系列图像并随机选择一个图像并将其 src 设置为特定路径。然而,由于某种原因,代码有时似乎会卡住。在我的程序中,我调用其中一个图像的 element.par
我有以下带有 A 框架的 html 结构。基本上,我使用以下基本 html 构建原子的 3D 表示:\ 为了
如果我们使用 closable: true 关闭 tabPanel,则默认操作将销毁 tabPanel。因此,由于 tabPanel 被破坏,我们将无法再次显示 tabPanel。但是,我不希望 ta
我正在尝试使用 JavaScript 复制 jQuery 的 after(): var orangeBlock = 'Try out the New Version of CLO' var greyB
我有一个问题。如何多次使用 parentNode 属性? 我知道我可以做出这样的东西: document.getElementById("mytag").parentNode.parentNode.r
我正在尝试为我构建一个类似 jquery 的实用程序库,这正是我主要使用 jQuery 的东西。 我有以下代码: function jLib(selector) { this.elements =
我有一组嵌套的 div: a b c d 我
现在我有这段代码: function delete_box(n) { document.getElementById("box"+n).style.display = "none";
我有一个获取元素的 id 并找出它的 parentNode 的函数,现在我想在那个 中找到所有 id 以相同的 string 开头的元素>父节点. 有什么功能或方法可以找出来吗?我正在尝试这个: va
是否可以链接 parentNode(或类似的)调用? 例如,假设我有这个 html: 现在假设我在“按钮”上有一个事件监听器。现在我想将
考虑这个简单的页面: var upper; var lower; function crop() { //upper = document.getElemen
我有一个项目列表,上面有不同的事件处理程序。 ... Item ... Add to list A Add to list B
如果它有几个没有 id 的子节点,那么将一些内容添加到 ParentNode 的最佳方法是什么。 条件是: I need to add contents inside this
我是一名优秀的程序员,十分优秀!