1

この IE7 z-index fixer を使用していますが、いくつかの特定の要素をいじっています。

私がやろうとしているのは、すべての 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 を無視するにはどうすればよいですか?

4

3 に答える 3

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;
    });
});
于 2013-07-25T11:55:05.133 に答える
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>
于 2013-07-25T11:55:20.050 に答える
0

あなたの問題は、「>」演算子がすべての直接の子を選択していることです。したがって、次の場合..

.filter_list_1_container | div | 分周

div の最初のセットのみを除外し、2 番目のセットを表示します。

「>」演算子を削除してみてください

于 2013-07-25T11:57:39.907 に答える