/// <summary> /// 设置元素的样式类 /// </summary> /// <param name="element">要设置样式类的元素</param> /// <param name="classes">要设置的样式类</param> /// <returns>被操作的元素</returns> public static T Class <T>(this T element, params string[] classes) where T : IHtmlElement { if (element == null) { throw new ArgumentNullException("element"); } if (classes == null) { throw new ArgumentNullException("classes"); } classes = classes.SelectMany(i => Regulars.whiteSpaceSeparatorRegex.Split(i)).Where(name => name != "").ToArray(); var manager = StyleClassManager.GetStyleClassManager(element); foreach (var expression in classes) { if (expression.StartsWith("-")) { manager.Remove(expression.Substring(1)); } else if (expression.StartsWith("~")) { manager.Toggle(expression.Substring(1)); } else if (expression.StartsWith("+")) { manager.Add(expression.Substring(1)); } else { manager.Add(expression); } } return(element); }
/// <summary> /// 获取元素的样式类管理器 /// </summary> /// <param name="element">要获取样式类管理器的元素</param> /// <returns>样式类管理器</returns> public static StyleClassManager Class(this IHtmlElement element) { return(StyleClassManager.GetStyleClassManager(element)); }