/// <summary> /// 创建层叠选择器 /// </summary> /// <param name="elements">作为范畴限定的元素集</param> /// <param name="expression">选择器表达式</param> /// <returns>层叠选择器</returns> public static ISelector Create(IEnumerable <IHtmlElement> elements, string expression) { if (elements == null) { throw new ArgumentNullException("elements"); } if (expression == null) { throw new ArgumentNullException("expression"); } var selector = CssParser.ParseSelector(expression); if (elements.IsNullOrEmpty()) { return(selector); } var relativeSelector = new CssAncetorRelativeSelector(new CssElementsRestrictionSelector(elements)); return(Create(relativeSelector, selector)); }
/// <summary> /// 创建层叠选择器 /// </summary> /// <param name="elements">作为范畴限定的元素集</param> /// <param name="expression">选择器表达式</param> /// <returns>层叠选择器</returns> public static ISelector Create( IEnumerable<IHtmlElement> elements, string expression ) { if ( elements == null ) throw new ArgumentNullException( "elements" ); if ( expression == null ) throw new ArgumentNullException( "expression" ); var selector = CssParser.ParseSelector( expression ); if ( elements.IsNullOrEmpty() ) return selector; var relativeSelector = new CssAncetorRelativeSelector( new CssElementsRestrictionSelector( elements ) ); return Create( relativeSelector, selector ); }