0

jQueryを使用して特定のdivを除くページ上のすべてを選択するにはどうすればよいですか?

実際には、特定の div のポップアップで残りの背景をフェードしようとしています。しかし問題は、すべてが div 内にあるわけではないということです。親 div を持たない要素はほとんどありません。

<body>
    12345

    <div id='second_div'>
       XXXXXX
    </div>

    56789

    <div id='popup'>
       AAAAA
    </div>
</body>

以下のコードを使用していますが、これは親 div を持たないコンテンツ(つまり、12345 と 56789) をフェードするものではありません。'second_div' (つまり XXXXXX ) のフェード コンテンツのみです。

$('body > div:not(#popup)').css("opacity",'0.7');

jQueryを使用してこれを行う方法を教えてください。

4

2 に答える 2

3

私はあなたがこれを探していると思います:

$("body > *").not('#popup').css("opacity", '0.7');

これが機能する理由は、 の直系の子孫をすべて選択し、 ofbodyを持つすべての直系の子孫を削除するためidですpopup

于 2012-05-08T20:39:23.313 に答える
1

私はもう一方をテストしましたが、それをテストして完全に機能しましたが、とにかく、頑張ってください!

var lines = $('body').html().split('\n');
$.each(lines, function(k, v){
  lines[k] = '<span>'+v+'</span>';
});

$('body').html(lines.join(''));

$('body > *').css("opacity", '0.7').find('#popup').parent().css("opacity", '1');
;
于 2012-05-08T20:47:57.513 に答える