【发布时间】:2019-11-15 03:22:29
【问题描述】:
我来自 jquery 背景,选择器易于使用。我想要做的是一个 tbody 的第一个孩子(只有一个表),我想突出显示整行。我尝试在 tr 上使用 css :first-child 选择器,但我不知道为什么它不起作用。有没有办法在脚本方面做到这一点?使用 vue.js 选择元素?因为它不会向元素添加任何 id(就像 Django 等其他框架所做的那样)。这是我的模板:
<v-container v-else grid-list-xl>
<v-data-table
:disable-initial-sort="true"
:rows-per-page-items="[10, 20, 30]"
:headers="headers"
:items="data_table"
class="elevation-1"
>
<template v-if="loading" v-slot:no-data>
<v-alert :value="true" color="warning" icon="warning">
Trayendo datos del gateway, porfa esperate...
</v-alert>
</template>
<template v-else v-slot:items="props">
<td><strong>{{ props.item.time }}</strong></td>
<td>{{ props.item.A }}</td>
<td>{{ props.item.B }}</td>
<td>{{ props.item.C }}</td>
</template>
</v-data-table>
</v-container>
这可能是因为我每分钟左右都会在表格上获得一个新行,并且我希望用户能够轻松地看到添加了新数据。这是我正在尝试的 css:
tr :first-child {
color: red;
background-image:none !important;
-o-animation: fadeIt 5s ease-in-out;
animation: fadeIt 5s ease-in-out;
};
@-o-keyframes fadeIt {
0% { background-color: #FFFFFF; }
50% { background-color: #AD301B; }
100% { background-color: #FFFFFF; }
}
@keyframes fadeIt {
0% { background-color: #FFFFFF; }
50% { background-color: #AD301B; }
100% { background-color: #FFFFFF; }
}
【问题讨论】:
-
使用
tr:first-child没有空格 -
尝试使用:
.v-datatable tbody tr:first-child {}作为我的例子:codepen.io/leenmalka/pen/MMBbJw -
并且可能将
infinite添加到动画中:w3schools.com/cssref/css3_pr_animation.asp -
@לבנימלכה 我不知道为什么它对你有效,但对我无效。这真的很奇怪。请注意,如果我将元素从 tr 更改为 td,它会在每个第一个 td 元素上显示动画。所以问题出在选择器上,但确实很奇怪。
标签: javascript css vue.js dom css-selectors