这是我的代码:
$('body').not('.specific_element').css('opacity','.3');

body{
border: 1px solid;
}
.specific_element{
border: 1px solid red;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>There are some texts</p>
<div class="specific_element">
sth
</div>
<p>whatever</p>
&#13;
我想要做的就是将具有红色边框的元素的不透明度保持为1
。我的意思是我想在除了特定元素之外的所有内容上应用opacity: .3
。我怎么能这样做?
答案 0 :(得分:3)
$('body').children().not('.specific_element').css('opacity','.3');
&#13;
body{
border: 1px solid;
}
.specific_element{
border: 1px solid red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>There are some texts</p>
<div class="specific_element">
sth
</div>
<p>whatever</p>
&#13;
答案 1 :(得分:2)
// Select all elements inside body except '.specific_element'
$('body *').not('.specific_element').css('opacity','.3');
答案 2 :(得分:1)
$('*:not(*[class*="specific_element"])').css('opacity','.3');
一切除了特定元素。
使用*选择所有内容
答案 3 :(得分:0)
正如@guradio建议的那样,可以通过在特定元素的兄弟上应用不透明度来完成:
$('.specific_element').siblings().css('opacity','.3');
&#13;
body{
border: 1px solid;
}
.specific_element{
border: 1px solid red;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<p>There are some texts</p>
<div class="specific_element">
sth
</div>
<p>whatever</p>
&#13;