jQuery使用通配符*来改变所有子元素的颜色

时间:2012-02-05 07:37:16

标签: jquery css colors wildcard

我需要更改给定选择器的所有子元素(全深度)的颜色。

在运行时我不知道子项的确切HTML标记,...只是包装元素类。

我尝试了以下内容,但无济于事

$('.cat_title *').each( function () { $(this).css('color', color ); });
$('.cat_title *').css('color', color+'!important' );
$('.cat_title *').css('color', color );

非常感谢任何指向正确方向的指针。

2 个答案:

答案 0 :(得分:2)

代码的第一个和第三个版本的工作范围是它们为元素添加style属性,但这不会覆盖在样式表中设置的设置,该样式表在级联。

第二个版本不起作用,因为jQuery不支持添加!important说明符,请参阅How to apply !important using .css()?

您可以考虑使用向元素添加类的代码,这是一种在页面样式中使用的类,如果需要,可以使用!important

如果文本未包含在内部元素中(并且在问题描述中未请求此类效果),则这些方法都不会影响元素内部文本的颜色。

答案 1 :(得分:0)

$('.cat_title').children().css('color', '#000000 !important');

应该这样做。

虽然,我讨厌使用!important属性。