jquery 选择器使得 children 不包含多个 类?
jquery selector such that children don't contain multiple classes?
我正在尝试用 class="my-rating"
编写 select 或哪些 select 的 <div>
仅当它们的 children 包含 none 下面的 3 个 类。
示例html:
<div class="my-rating" id="parentA">
<div class="foo"></div>
</div>
<div class="my-rating" id="parentB">
</div>
<div class="my-rating" id="parentC">
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-half-star"></div>
<div class="rating-empty-star"></div>
<div class="bar"></div>
</div>
<div class="my-rating" id="parentD">
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-half-star"></div>
<div class="rating-empty-star"></div>
</div>
我想要 select parentA
和 parentB
并排除 C 和 D。
像这样:
$('.my-rating').children().filter(':not(.rating-full-star):not(.rating-half-star):not(.rating-empty-star)')
除了这个家伙抢走了所有的children,而不是parent。我也试过:
$('.my-rating :not(.rating-full-star,.rating-half-star,.rating-empty-star)')
但这并没有抢到太多物品。我可以在这里做什么?
如果您已经正确选择了子标签,您可以从中获取父标签。
$('.my-rating').children().filter(':not(.rating-full-star):not(.rating-half-star):not(.rating-empty-star)').parent();
这将为 arr 中的每个子元素 return 一个父元素,如果您只想要一个,因为它们对于每个兄弟元素都是相同的,您可以使用:
$('.my-rating').children().filter(':not(.rating-full-star):not(.rating-half-star):not(.rating-empty-star)').parent()[0];
你在这里:
$('.my-rating').not(':has(.rating-full-star, .rating-half-star, .rating-empty-star)');
我正在尝试用 class="my-rating"
编写 select 或哪些 select 的 <div>
仅当它们的 children 包含 none 下面的 3 个 类。
示例html:
<div class="my-rating" id="parentA">
<div class="foo"></div>
</div>
<div class="my-rating" id="parentB">
</div>
<div class="my-rating" id="parentC">
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-half-star"></div>
<div class="rating-empty-star"></div>
<div class="bar"></div>
</div>
<div class="my-rating" id="parentD">
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-full-star"></div>
<div class="rating-half-star"></div>
<div class="rating-empty-star"></div>
</div>
我想要 select parentA
和 parentB
并排除 C 和 D。
像这样:
$('.my-rating').children().filter(':not(.rating-full-star):not(.rating-half-star):not(.rating-empty-star)')
除了这个家伙抢走了所有的children,而不是parent。我也试过:
$('.my-rating :not(.rating-full-star,.rating-half-star,.rating-empty-star)')
但这并没有抢到太多物品。我可以在这里做什么?
如果您已经正确选择了子标签,您可以从中获取父标签。
$('.my-rating').children().filter(':not(.rating-full-star):not(.rating-half-star):not(.rating-empty-star)').parent();
这将为 arr 中的每个子元素 return 一个父元素,如果您只想要一个,因为它们对于每个兄弟元素都是相同的,您可以使用:
$('.my-rating').children().filter(':not(.rating-full-star):not(.rating-half-star):not(.rating-empty-star)').parent()[0];
你在这里:
$('.my-rating').not(':has(.rating-full-star, .rating-half-star, .rating-empty-star)');