Javascript—获取紧接相关div之前的div的属性

Javascript—获取紧接相关div之前的div的属性,javascript,css,html,Javascript,Css,Html,我需要获取我正在调用的div之前的div的属性 例如: 这里我关心的是divBAMT,我需要获得pMu$i32的属性。我怎样才能得到同样的。基本思想是,我需要在divpMu$i32下添加divBAMT,我已经这样做了,但我需要相应地定位我的divBAMT 因此,我将获得上面div的属性,例如top和height,并相应地确定div的位置 还有其他更好的方法可以做到这一点吗?试试,比如: 工作示例:使用元素。如果您非常确定两个div之间没有任何其他标记,则先前的同级是一个很好的解决方案 Eg1.

我需要获取我正在调用的div之前的div的属性

例如:

这里我关心的是
divBAMT
,我需要获得
pMu$i32
的属性。我怎样才能得到同样的。基本思想是,我需要在div
pMu$i32
下添加
divBAMT
,我已经这样做了,但我需要相应地定位我的
divBAMT

因此,我将获得上面div的属性,例如top和height,并相应地确定div的位置

还有其他更好的方法可以做到这一点吗?

试试,比如:


工作示例:

使用元素。如果您非常确定两个div之间没有任何其他标记,则先前的同级是一个很好的解决方案

Eg1.

<div id='par'>
   <div id='a'></div>
   <span id='sp'></span>
   <div id='b'></div>
 </div>
var prevDiv = document.getElementById('b');
do {
  prevDiv = prevDiv.previousSibling;
} while(prevDiv && !(prevDiv.nodeName.toLowerCase() == 'div' || prevDiv.tagName.toLowerCase() == 'div'));

console.log(prevDiv); // Now prevDiv is either null if no divs are found, else the nearest top div sibling 
从底部迭代直到到达附近的div标记是更好的解决方案(如果div之间可能有不同的标记)

解决方案:

<div id='par'>
   <div id='a'></div>
   <span id='sp'></span>
   <div id='b'></div>
 </div>
var prevDiv = document.getElementById('b');
do {
  prevDiv = prevDiv.previousSibling;
} while(prevDiv && !(prevDiv.nodeName.toLowerCase() == 'div' || prevDiv.tagName.toLowerCase() == 'div'));

console.log(prevDiv); // Now prevDiv is either null if no divs are found, else the nearest top div sibling 
更新小提琴

尝试
elementNode.previousSibling
,就像
document.getElementById(“divBAMT”)。previousSibling
请将代码作为代码发布,而不是作为imageTry
var pmu=document.getElementById(“pmu$divBAMT”)。previousElementSibling
@Cherniv您的上述评论不也包括文本节点吗?。。意识到,是的,确实如此。:)张贴您的代码如何添加
divBAMT
@Mr\u Green good point,需要检查。。