gpt4 book ai didi

javascript - 我如何使用子节点正确实现 onclick 以使 div 消失?

转载 作者:行者123 更新时间:2023-12-03 10:25:54 24 4
gpt4 key购买 nike

我昨天问了一个问题,但它是偏离主题的,我已经解决了代码以通过悬停来实现我想要的目标,但现在我希望每个被单击的 div 都变得透明。我知道的问题是我正在 Dreamweaver 而不是 phpstorm 中工作,并且我不确定我使用的命令是否有效。我的 html 在这里:

<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<div id="category">

<div class="content">
</div>

<div class="content">
</div>

<div class="content">
</div>

<div class="content">
</div>

<div class="content">
</div>

</div>

<style>
div { background-color: springgreen; }
div { width: 100px; }
div { height: 100px; }
</style>

</body>
<script src="js/main.js"></script>
</html>

和 JavaScript:

/**
* Created by Mark M. on 3/28/2015.
*
*/

var category = document.getElementById("category");
for (var child = category.firstChild; child != null; child = child.nextSibling) {
if (child.nodeType == 1 && child.className == "content") {
child.onmouseover = function() {
this.style.width = "150px";
this.style.height = "150px"
};

child.onmouseout = function() {
this.style.width = "100px";
this.style.height = "100px"
};

child.onmouseclick= function() {
//disappear
this.style.backgroundColor = "transparent";


}
}}

最佳答案

这对于您的问题来说应该是一个优雅的解决方案。单击“运行代码片段”来检查:

var contentDivs = document.getElementsByClassName('content');

for(var i = 0; i < contentDivs.length; i++) {
var div = contentDivs[i];
div.onclick = function(){
this.style.display = 'none';
}
}
div {background-color: springgreen; width: 100px; height: 100px;}
<div id="category">
<div class="content">Content 1</div>
<div class="content">Content 2</div>
<div class="content">Content 3</div>
<div class="content">Content 4</div>
<div class="content">Content 5</div>
</div>

关于javascript - 我如何使用子节点正确实现 onclick 以使 div 消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29404023/

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