我想检查并查看某些元素是否具有具有特定CSS属性的子元素。然后我想要只为那些拥有CSS属性的孩子的父母添加一个类。
以下是我正在处理的脚本:
$( document ).ready(function() {
if ($('.child').css('display') === 'block') {
$(this).parent().addClass( "newClass" );
};
});
问题似乎是$(this)没有针对使上述函数为true的任何子元素。有没有办法实现这个目标?
答案 0 :(得分:2)
$('.child:visible').parent().addClass('newClass');
假设您正在尝试识别可见的孩子。如果它实际上只是有块显示的孩子,那么也有其他选择。
答案 1 :(得分:1)
这样的事情应该这样做:
$( document ).ready(function() {
$('.child:visible').parent().addClass('newClass');
});
答案 2 :(得分:0)
应该使用jQuery循环,因为实际上$(this)不是对你想要的元素的引用
$('.child').each(function() {
if ($(this).css('display') === 'block') {
$(this).parent().addClass( "newClass" );
};
});
尝试类似的东西。