jquery - jquery:不选择不排除预期元素
问题描述
鉴于以下情况:
// all text should be red except in the excludeme id
$('body:not(#excludeme)').css('color', 'red');
// $('#excludeme').css('color','blue');
body {
color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div>
div text
</div>
<br />
<span>
<a id="excludeme">this text should be green</a>
<br />
span text
</span>
所有文本都显示为红色,但 excludeme id 中的文本应保持绿色。为什么 :not 选择器不排除选定的 id?
解决方案
:not
正在按预期工作。如果您检查 html 代码,您可以看到该a
元素没有将颜色变为红色的内联样式。它从父元素获取颜色,因为所有其他元素都有红色。如果你愿意,你可以为这样的元素声明一个样式css
#excludeme{
color: green;
}
inheritance
你可以在这里阅读更多css