jQuery – 选择除一个div之外的页面上的所有内容

如何使用jQuery选择除特定div之外的页面上的每个和所有内容?

实际上我试图在特定div的弹出窗口中淡化其余背景。 但问题是并非一切都在某个div内。 很少有元素没有任何父div。

 12345 
XXXXXX
56789

我正在使用下面的代码,但这不是没有父div的渐弱内容 (即12345和56789)。 它只是’second_div’的内容消失(即XXXXXX)。

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

请指导我如何使用jQuery执行此操作。

我想你正在寻找这个:

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

这样做的原因是因为它选择了body所有直接后代,然后删除了所有具有popup id的直接后代。

测试它并且完美地工作,虽然我已经测试了另一个并且它没有,但无论如何,祝你好运!

 var lines = $('body').html().split('\n'); $.each(lines, function(k, v){ lines[k] = ''+v+''; }); $('body').html(lines.join('')); $('body > *').css("opacity", '0.7').find('#popup').parent().css("opacity", '1'); ;