是否有一种有效的方法来检查给定元素是否与选择器匹配,例如 jQuery 中的 is() 方法 (http://api.jquery.com/is/)?
我找到了这个解决方案,但我认为它的性能很差:
public static String cleanSelector(String selector) {
return selector.replaceAll(":link|:active|:visited|:hover|:after|:focus", "");
}
public static boolean elementIs(Element elem, String selector, Element root) {
Elements elems = root.select(cleanSelector(selector));
return elems.contains(elem);
}
最佳答案
使用包私有(private)的 QueryParser
类:
Evaluator eval = QueryParser.parse(query);
boolean result = eval.matches(element.ownerDocument(), element);
关于java - 有没有一种有效的方法来测试元素是否与 Jsoup 中的选择器匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16393275/