如何从选择器中排除一个 div 元素及其所有 children?
How to exclude from the selector * one div element with all his children?
我在 jquery 中编写了一个脚本,它在 选择器 * (all) 的帮助下将 class 添加到页面上的所有元素。我想用他所有的 children 排除 div 的一个元素。我想知道该怎么做。我尝试使用 pseudo-class :not, 包括提到的 div,但我不知道如何也排除他的 children。
你们谁能帮我解决这个问题吗?
代码 pseudo-class :not
$(document).ready(function(){
$('#yellow-background').click(function(){
$(':not(div[aria-label="Slajder"])').addClass("yellow-background");
});
普通代码:
$(document).ready(function(){
$('#yellow-background').click(function(){
$('*').addClass("yellow-background");
});
所有元素?为什么不做一个yellow overlay and show the div in the middle of that instead?
无论如何
$("*:not('div[aria-label=Slajder] *')").addClass("yellow-background");
比
更难写
$('*').not('div[aria-label="Slajder"] *').addClass("yellow-background");
由于引用但两者都有效
$(function() {
$('#yellow-background').click(function() {
$('*').not('div[aria-label="Slajder"] *').addClass("yellow-background");
});
});
.yellow-background {
background-color: yellow
}
[aria-label=Slajder] { background-color: red }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="yellow-background">Yellow</button>
<div>Content
<div>content
<div aria-label="Slajder"><h1>Slajder </h1>
<div>
exluded content
<div>more exluded content</div>
</div>
</div>
more content
</div>
</div>
我在 jquery 中编写了一个脚本,它在 选择器 * (all) 的帮助下将 class 添加到页面上的所有元素。我想用他所有的 children 排除 div 的一个元素。我想知道该怎么做。我尝试使用 pseudo-class :not, 包括提到的 div,但我不知道如何也排除他的 children。 你们谁能帮我解决这个问题吗?
代码 pseudo-class :not
$(document).ready(function(){
$('#yellow-background').click(function(){
$(':not(div[aria-label="Slajder"])').addClass("yellow-background");
});
普通代码:
$(document).ready(function(){
$('#yellow-background').click(function(){
$('*').addClass("yellow-background");
});
所有元素?为什么不做一个yellow overlay and show the div in the middle of that instead?
无论如何
$("*:not('div[aria-label=Slajder] *')").addClass("yellow-background");
比
更难写$('*').not('div[aria-label="Slajder"] *').addClass("yellow-background");
由于引用但两者都有效
$(function() {
$('#yellow-background').click(function() {
$('*').not('div[aria-label="Slajder"] *').addClass("yellow-background");
});
});
.yellow-background {
background-color: yellow
}
[aria-label=Slajder] { background-color: red }
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button id="yellow-background">Yellow</button>
<div>Content
<div>content
<div aria-label="Slajder"><h1>Slajder </h1>
<div>
exluded content
<div>more exluded content</div>
</div>
</div>
more content
</div>
</div>