Одним словом, нет.Это «каскадная» часть CSS в действии.
Вам нужно будет добавить CSS специально, чтобы отменить изменения, внесенные в эти дочерние элементы.Например:
$("span").click(function() {
$(this).css("color", "blue")
.children().css("color","black");
});
В зависимости от того, как именно выглядит ваш HTML, вам может потребоваться остановить распространение клика до самого внешнего span
:
$("span").click(function() {
e.stopPropagation();
$(this).css("color", "blue")
.children().css("color","black");
});
Aвозможно, менее сложное решение включает в себя использование !important
для закрепления стилей CSS подэлементов span
s: http://jsfiddle.net/mblase75/ce2Av/2/ Однако вам необходимо указать все субэлементовтаким образом, что это может усложниться в зависимости от вашего HTML.
Если вы хотите, чтобы дети не были одного цвета, а оставались такими, какими они были раньше, тогда все становится непросто.Вам необходимо заранее кэшировать эти значения с помощью массива, а затем переназначать их одно за другим.