有没有办法在不向表格元素添加类的情况下将 css 应用于元素? [复制]

Posted

技术标签:

【中文标题】有没有办法在不向表格元素添加类的情况下将 css 应用于元素? [复制]【英文标题】:Is there a way to apply css to elements without adding a class to table elements? [duplicate] 【发布时间】:2017-10-13 14:00:12 【问题描述】:

假设我有以下...

td 
    padding: 8px;


 td a 
     display: block;
     padding: 8px;
     width: 100%;
     height: 100%;
 

我想将第一个 css 代码应用于所有没有 <a><td> 元素,我想将第二个 CSS 代码应用于只有 <a> 的元素。

我尝试了以下方法:

td:not(a) 
    padding: 8px;


td:not(td a) 
    padding: 8px;

如何在不向元素添加类的情况下完成这项工作?

【问题讨论】:

不可能仅使用 CSS。您需要添加类来区分单元格。 我以为是这样,但希望有一些我不知道的方式。 不,CSS 没有“包含”(以前有这个,但它表示文本内容,而不是标签)或“包含”。所以你要JS先在TD上设置类。 很高兴知道。谢谢 【参考方案1】:

这可以通过 javascript 完成。假设您希望任何带有<a> 元素的td(为简单起见,我将直接假设在其中)具有黄色背景。这是 jQuery 中的一个示例:

<table>
  <tr>
    <td>No a elements here</td>
    <td>I have an <a href="#">a</a> element.</td>
  </tr>
</table>

CSS:

td 
  border: 1px solid blue;

脚本:

$(document).ready(function()
  $('td a').parent().css('background', 'yellow');
);

笔在https://codepen.io/wahhabb/pen/QvxEjd

【讨论】:

以上是关于有没有办法在不向表格元素添加类的情况下将 css 应用于元素? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在不使用通知服务扩展的情况下将图像附加到推送通知?

有没有办法在不知道派生类型的情况下将包含派生指针的 std::any 转换为基指针?

有没有办法在不安装任何驱动程序的情况下将表从雪花导入 R 中的数据帧?

在不知道元素类型的情况下将项添加到列表中

如何在不丢失表格视图单元格的情况下将现有集合视图添加到表格视图

如何在不使用溢出隐藏的情况下将边框添加到与边框半径完美匹配的表格列