除了最后一个<td>中的孩子之外,将所有<td>设置为不透明
<tbody id="items">
<tr><td>Item 1</td></tr>
<tr><td>Item 2</td></tr>
<tr><td>Item 3</td></tr>
<tr><td>Item 4</td></tr>
<tr><td>Item 5</td></tr>
<tr><td><a>1</a>
<a>2</a>
<a class="a3">3</a>
</td></tr>
</tbody>
我想将不透明度设置为0.5,但最后一个<td>
的第三个锚标记除外。 如何设置?
var atd = $('.a3').closest('td')
$("td").not(atd).addClass('opacity')//add class here
你可以添加一个具有特定CSS的类
演示
设置不透明度td的子类,除了a3类
演示
使用.each()
描述:遍历一个jQuery对象,为每个匹配的元素执行一个函数。
要找到匹配,然后添加该类
演示
var atd = $('.a3')
$("td").each(function(index) {
console.log($(this).find('a').length)
if ($(this).find('a').length > 0) {
$(this).children().not(atd).addClass('opacity') //add class here
} else {
$(this).addClass('opacity') //add class here
}
})
.opacity {
color: red;
opacity: .5;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tbody id="items">
<tr>
<td>Item 1</td>
</tr>
<tr>
<td>Item 2</td>
</tr>
<tr>
<td>Item 3</td>
</tr>
<tr>
<td>Item 4</td>
</tr>
<tr>
<td>Item 5</td>
</tr>
<tr>
<td><a>1</a>
<a>2</a>
<a class="a3">3</a>
</td>
</tr>
</table>
如果td
的不透明度为0.5,则不能“撤消”在子组件中(再次赋予其不透明度)。
你也不能选择“ td
不包含a
”在CSS。
我会做的是将单元格的内容包装在<span>
,并执行以下操作:
td span, td a {opacity: 0.5;}
.a3 {opacity: 0.1;}
那么可能有点冗长,但是一个很好的CSS解决方案
HTML
<table>
<tbody id="items">
<tr>
<td>Item 1</td>
</tr>
<tr>
<td>Item 2</td>
</tr>
<tr>
<td>Item 3</td>
</tr>
<tr>
<td>Item 4</td>
</tr>
<tr>
<td>Item 5</td>
</tr>
<tr>
<td><a>1</a>
<a>2</a>
<a class="a3">3</a>
</td>
</tr>
</tbody>
</table>
CSS
tr td,
tr:last-child td a {
opacity: .5
}
tr:last-child td,
tr:last-child td a.a3 {
opacity: 1
}
将最后一个孩子的不透明度设置为1,将最后一个列表中的<a>
不透明度设置为0.5,而不是最后一个<a>
工作示例:https://jsfiddle.net/4p3dfqye/
链接地址: http://www.djcxy.com/p/91275.html上一篇: setting opacity to all <td> except a child in the last <td>