gpt4 book ai didi

javascript - 为什么过滤器 (":visible"找不到外部元素)如果设置内部元素位置 :absolute?

转载 作者:搜寻专家 更新时间:2023-10-31 22:44:53 24 4
gpt4 key购买 nike

如果 filter("visible") 检测到元素,我想隐藏它。

我们可以看到里面的图片是可见的,但是为什么外面的元素<a>设置<img>找不到position:absolute?

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<style type="text/css">
a {
position: absolute;
}
img {
position: absolute; //the filter() works if i annotate this line
}
</style>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#container a").filter(":visible").hide()
});
</script>
</head>
<body>
<div id="container">
<a href=""><img src="http://sudasuta.com/script/timthumb.php?src=http://sudasuta.com/wp-content/uploads/2014/03/he-British-Library-2.jpg&h=200&w=260&zc=1"></a>
</div>
</body>
</html>

最佳答案

根据 the documentation :

Elements are considered visible if they consume space in the document.

如果你使 img 绝对定位,那么 a 将不再占用文档中的任何空间,因为其中唯一的东西不会影响它的大小,因此它的高度为 0,宽度为 0。

a 元素做任何事情都会改变行为。例如,将 width: 1px 添加到 a 元素的规则中。 (示例:Not working | Working with width: 1px 。)

关于javascript - 为什么过滤器 (":visible"找不到外部元素)如果设置内部元素位置 :absolute?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22506559/

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