如何使用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执行此操作。
答案 0 :(得分:3)
我认为你正在寻找这个:
$("body > *").not('#popup').css("opacity", '0.7');
这样做的原因是因为它选择body
的所有直接后代,然后删除所有id
popup
的直接后代。
答案 1 :(得分: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');
;