如果类中没有子元素,则赋予父类
Give parent class if there is no child elements with classes
我有一个元素列表,如果父tr元素中的子元素没有分配类,我想给它一个类。这在jQuery或vanillaJS中可能吗?
<tr>
<td class="unfoldedlabel" colspan="6"><a>Accessories</a></td>
</tr>
<tr>
<td class="foldedlabel" colspan="6"><a>Accessories</a></td>
</tr>
<tr>
<td><a>Accessories</a></td>
</tr>
您可以使用:has()
和:not()
$('tr:has(>:not(td[class]))').addClass('class')
.class {
color: red
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
<tr>
<td class="unfoldedlabel" colspan="6"><a>Accessories</a>
</td>
</tr>
<tr>
<td class="foldedlabel" colspan="6"><a>Accessories</a>
</td>
</tr>
<tr>
<td><a>Accessories</a>
</td>
</tr>
</table>
试试这个:你可以迭代tr
s,检查它是否有特定类的子级,如果没有,则向它添加类。
$('tr').each(function(){
if($(this).children('.childClass').length ==0)
$(this).addClass('parentClass');
});
您可以使用has()
和not()
选择器
$('tr').not(':has(td[class])').addClass('no');
tr.no {
color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr>
<td class="unfoldedlabel" colspan="6"><a>Accessories</a>
</td>
</tr>
<tr>
<td class="foldedlabel" colspan="6"><a>Accessories</a>
</td>
</tr>
<tr>
<td><a>Accessories</a>
</td>
</tr>
</table>
相关文章:
- 是否可以从父类访问子类的属性
- 使用此选项选择父类内部的类
- JavaScript:当有两个B类元素时,如何在id X中的B类中选择A类
- 将jQuery事件应用于所有类元素
- 如何在 jQuery 中获取具有特定父类的所有元素的内容,并将它们传递给 GET 变量
- 唯一标识父类的元素
- 如果类中没有子元素,则赋予父类
- 如何为不同的元素获取不同的父类
- 如何获取最接近父类的表单元素.jQuery
- 从具有特定类的第一个输入中获取父窗体元素
- 单击子元素时阻止父类
- 在单击中高亮显示类或将类添加到父li元素
- 如何隐藏点击元素时,所有具有相同的父类
- 在调用父元素的方法之前从子元素中移除父类(javascript/jquery)
- 当内部元素有活动类时显示块父类
- 如何在可拖放的相对父类中选择类元素
- 使用父类选择子元素
- javascript:在子元素的条件下将类应用于父标记元素
- 在父元素中查找可见的类元素
- 当输入无效时,Angular 可以将 css 类添加到父/同级元素吗?