有没有办法将css应用于元素而不向表元素添加类?

时间:2017-05-14 20:14:19

标签: html css

说我有以下内容......

td {
    padding: 8px;
}

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

我想将第一个css代码应用于没有<td>的所有<a>元素,并且我想将第二个css代码仅应用于那些<a>的元素}。

我尝试了以下内容:

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

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

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

1 个答案:

答案 0 :(得分:0)

这可以通过JavaScript完成。假设你希望任何带有td元素的<a>(为了简单起见,我会直接假设),以获得黄色背景。这是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