B.主体仅包含跨距节点,称之为顶级跨距
C.顶级跨距包含(1)个文本节点(2)个带类的跨距的组合,称它们为低级跨距
我们需要检索具有一个或多个具有类“a”或“b”的较低级别跨度的每个顶级跨度。
我们迄今为止的最佳拍摄:
//span//span[contains(concat(' ', normalize-space(@class), ' '), ' qri ') or contains(concat(' ', normalize-space(@class), ' '), ' ktiv ')]
但它给出了较低的水平跨度。
x = new XPathEvaluator();
var it = x.evaluate("//span//span[contains(concat(' ', normalize-space(@class), ' '), ' a ') or contains(concat(' ', normalize-space(@class), ' '), ' b ')]", document.body.cloneNode(true));
var results = [];
for (var current = it.iterateNext(); current; current = it.iterateNext()) {
results.push(current.id);
}
console.log(results);
<span id="top1">In a<span id="a1" class="a">ultrices felis</span><span id="b1" class="b">sollicitudin felis</span></span>
<span id="top2">congue velit<span id="a2" class="a">Sed porttitor</span>Phasellus posuere</span>
<span id="top3">purus. Etiam<span id="b2" class="b">tellus, ultrices</span>Morbi interdum</span>
<span id="top4">leo malesuada tristique</span>
期望输出为:
[
"top1",
"top2",
"top3"
]