我正在使用这个IE7 z-index修复程序,它正在搞乱一些特定的元素。
我要做的是选择所有div,而不是嵌套在特定div中的div。
这是我正在使用的jQuery代码,但是没有按预期工作。
<script type="text/javascript">
$(function() {
var zIndexNumber = 1000;
$('div').not('.filter_list_1_container > div').each(function() {
$(this).css('zIndex', zIndexNumber);
zIndexNumber -= 10;
});
});
</script>
由于某种原因,它只会忽略第一层。如果嵌套的div包含div,则jQuery代码也不会忽略它们......
如何忽略“.filter_list_1_container”类中的所有div?
答案 0 :(得分:3)
你可能需要直接孩子的后代,所以从选择器中删除>
。
更改
.not('.filter_list_1_container > div')
到的 .not('。filter_list_1_container div')
您的代码将是。
$(function() {
var zIndexNumber = 1000;
$('div').not('.filter_list_1_container div').each(function() {
$(this).css('zIndex', zIndexNumber);
zIndexNumber -= 10;
});
});
答案 1 :(得分:0)
您在选择器中使用>
,这意味着它只会选择该元素的直接子元素。如果您将其删除,则会忽略.filter_list_1_container
元素div
的任何后代
这样做:
<script type="text/javascript">
$(function() {
var zIndexNumber = 1000;
$('div').not('.filter_list_1_container div').each(function() {
$(this).css('zIndex', zIndexNumber);
zIndexNumber -= 10;
});
});
</script>
答案 2 :(得分:0)
你的问题是'&gt;'操作员正在选择所有直接孩子。所以在下面的例子中..
.filter_list_1_container | DIV | 格
它只会排除第一组div并显示第二组div。
尝试删除'&gt;'操作