在这段代码中,我希望在所有div元素都显示为空之后,将段落文本更改为凶手。在此问题中,段落文本变为凶手,只有div元素之一显示为空。我知道我可以使用if语句并给出display:none的条件,然后再运行该函数,但是如果有一百个div元素呢?这只是一个有趣的实验,我需要一种有效的方法。
<!doctype html>
<html>
<head>
<title>Learning jQuery</title>
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<style>
#green {
width:200px;
height:200px;
background-color:green;
border-radius:50%;
margin-top:50px;
}
.red {
width:200px;
height:200px;
background-color:red;
margin-top:50px;
}
</style>
</head>
<body>
<div id="green"></div>
<div class="red"></div>
<div class="red"></div>
<h1 id="murder">Hello</h1>
<script>
$("murder").html("murderer!");
$("div").click(function() {
$(this).css("display", "none");
if ($("div").css("display") == "none") {
$("#murder").html("murderer!");
}
});
</script>
</body>
</html>
最佳答案
使用jQuery的:visible
选择器:
if($("div:visible").length == 0) {
// Do stuff
}
关于javascript - 当所有div元素都设置为显示时运行功能:无,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34675304/