我需要更改给定选择器的所有子元素(全深度)的颜色。
在运行时我不知道子项的确切HTML标记,...只是包装元素类。
我尝试了以下内容,但无济于事
$('.cat_title *').each( function () { $(this).css('color', color ); });
$('.cat_title *').css('color', color+'!important' );
$('.cat_title *').css('color', color );
非常感谢任何指向正确方向的指针。
答案 0 :(得分:2)
代码的第一个和第三个版本的工作范围是它们为元素添加style
属性,但这不会覆盖在样式表中设置的设置,该样式表在级联。
第二个版本不起作用,因为jQuery不支持添加!important
说明符,请参阅How to apply !important using .css()?
您可以考虑使用向元素添加类的代码,这是一种在页面样式中使用的类,如果需要,可以使用!important
。
如果文本未包含在内部元素中(并且在问题描述中未请求此类效果),则这些方法都不会影响元素内部文本的颜色。
答案 1 :(得分:0)
$('.cat_title').children().css('color', '#000000 !important');
应该这样做。
虽然,我讨厌使用!important属性。