gpt4 book ai didi

css - 如何选择第一个 child 不是表格的所有 div 元素

转载 作者:太空宇宙 更新时间:2023-11-04 00:23:23 24 4
gpt4 key购买 nike

在我的 HTML 中有很多元素。一些 div 元素有一个表格作为子元素。我想为所有 div 元素设置一些 css 属性,但在有表格和没有表格的元素之间有所不同。

我的第一种方法:

那些包含表格的 div 元素的类属性设置为带有“表格”的东西,因此我可以使用属性选择器选择它们,如下所述:http://www.w3.org/TR/selectors/#attribute-selectors

div[class*="Table"]
{
/* Set Properties for all div with 'table' inside class-attribute */
}

不幸的是,似乎没有相反的属性选择器。

所以我的第一个问题是:这是对的还是我能做什么?

我的下一个方法是检查一个 child 是否是一张 table 。在谷歌的帮助下,我只找到如何选择例如元素的第一个子元素,但不是如何检查它是否是表格。

所以我的问题 2 和 3 是:如何选择那些包含(或不包含)表格的 div 元素作为子元素?

编辑:通常表格是第一个 child ,但如果可能的话我想检查所有子元素是否是表格

最佳答案

无法使用 CSS(2.1 或 3)定位父元素。您可以做的最好的事情是手动将一个类添加到您要定位的所有 div 标记,或者使用 JavaScript 编写您的选择标准。

如果您要使用 JavaScript 来执行此操作,则可以使用 jQuery 轻松执行此操作,如下所示:

$('div > :first-child').not('table').parent().addClass('notables');

Working demo

编辑评论:如果你想选择一个没有嵌套任何表格的div,你可以使用以下命令,使用jQuery :has()选择器:

$('div:not(:has(table))').addClass('notables');

Working demo 2

关于css - 如何选择第一个 child 不是表格的所有 div 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7995411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com