0

如何在<br>标签之间选择一些东西,使用 xpath 或者建议其他解决方案。到目前为止,这是我选择的代码,<p>但我需要<br>标签之间的内容:

<!DOCTYPE html>
<html>
<head>
</head>
<body>
<p>some text <br>select this </br>and not this</p>
<div id="insert"></div>
<script>
data = document;
var headings = data.evaluate("//p", data, null, XPathResult.ANY_TYPE, null);
var thisHeading = headings.iterateNext();
var selectedText = "Selected: <br>";
while (thisHeading) {
    selectedText += thisHeading.textContent + "<br>";
    thisHeading = headings.iterateNext();
}
document.getElementById('insert').innerHTML = selectedText;
</script>
</body>
</html>
4

2 回答 2

1

假设<br>是唯一的标签,将在p. 您可以拆分每个<br>标签以获取元素数组。

注意:</br>无效。

var strings = 'some text <br>select this <br/>and not this'.split(/<br\/?>/i);
alert(strings.length); //3
于 2013-04-10T14:22:08.797 回答
1

Well</br>不是有效的 HTML,因为该br元素是一个空元素。

就 XPath 而言,您可以使用路径//p/br[1]/following-sibling::node()[1][self::text()]选择具有字符串值的文本节点,select this并选择一个空节点集,以防第一br个子节点的以下兄弟不是文本节点。

于 2013-04-10T14:57:35.077 回答