Пример #1
0
        /// <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);
        }
Пример #2
0
 /// <summary>
 /// 获取元素的样式类管理器
 /// </summary>
 /// <param name="element">要获取样式类管理器的元素</param>
 /// <returns>样式类管理器</returns>
 public static StyleClassManager Class(this IHtmlElement element)
 {
     return(StyleClassManager.GetStyleClassManager(element));
 }