private static bool matchClass(Element element, classSelector classselector) { if (!string.IsNullOrEmpty(classselector.elementE) && classselector.elementE != "*") { if (element.tagName != classselector.elementE.ToLower()) { return(false); } } if (element.hasAttribute("class")) { string classvalue = element.getAttribute("class"); if (string.IsNullOrEmpty(classvalue) && classselector.classList.Count > 0) { return(false); } foreach (var item in classselector.classList) { if (!classvalue.Contains(item)) { return(false); } } } else { return(false); } return(true); }
private void parseClassSelector() { classSelector classselector = new classSelector(); classselector.wholeText = _selectorText; if (_buffer.Length > 0) { classselector.elementE = AppendCleanBuffer(_buffer); } char current = ReadNext(); while (!stop) { if (current == '.') { classselector.classList.Add(AppendCleanBuffer(_buffer)); current = ReadNext(); } else { _buffer.Append(current); current = ReadNext(); } } if (_buffer.Length > 0) { classselector.classList.Add(AppendCleanBuffer(_buffer)); } simple = classselector; }