gpt4 book ai didi

Javascript:鼠标悬停时获取dom树中的元素

转载 作者:行者123 更新时间:2023-11-30 13:40:14 24 4
gpt4 key购买 nike

使用时:

document.onmouseover = function(e) {}

是否有一个属性可以为我提供 dom 树中的元素?

比如我可以设置一个样式为e.srcElement但是,我以后如何访问此元素以(例如)重置其样式?我怎么知道它在 dom 树中的哪个位置?我希望能够将它放在整个页面转储中。

非常感谢。

为了解决稍后重新访问元素的问题,我尝试了这个但它不起作用:

var lastelem;

document.onmouseover = function(e) {

if (lastelem != null){
lastelem.style.border = "0px";
}

if (e===undefined) e= window.event;
var target= 'target' in event? event.target : event.srcElement;
document.getElementById('display').value = target.tagName;
target.style.border = "1px";
lastelem = target;
};

谢谢

最佳答案

Which HTML element is the target of the event? (在 Quirksmode.org 上,作者:Peter-Paul Koch)。也看看 target attribute W3C DOM Level 2 事件模型中的事件对象。

<!DOCTYPE html>
<html>
<head>
<title>target test</title>
<style>
* { border: 1px solid #fff }
.trigger { background: lightgreen }
</style>
</head>
<body>
<p class="trigger">Trigger testCase().</p>
<p class="trigger">Trigger testCase().</p>
<p class="trigger">Trigger testCase().</p>
<p id="display"></p>
<script>
var lastelem;

document.onmouseover = function (e) {
var event = e || window.event;

if (lastelem) {
lastelem.style.border = "1px solid #fff";
}

var target = event.target || event.srcElement;
document.getElementById('display').innerHTML = target.previousSibling.tagName +
" | " + target.tagName + " | " + (target.nextSibling ? target.nextSibling.tagName : "X");
target.style.border = "1px solid";
lastelem = target;
};
</script>
</body>
</html>

关于Javascript:鼠标悬停时获取dom树中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2709994/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com