如何在<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>
答案 0 :(得分:1)
假设<br>
是p
中唯一的标记。你可以在每个<br>
标签上拆分以获得一系列元素。
注意:</br>
无效。
var strings = 'some text <br>select this <br/>and not this'.split(/<br\/?>/i);
alert(strings.length); //3
答案 1 :(得分:1)
好</br>
不是有效的HTML,因为br
元素是一个空元素。
就XPath而言,您可以使用路径//p/br[1]/following-sibling::node()[1][self::text()]
来选择字符串值为select this
的文本节点,并选择一个空节点集,以防第一个{ {1}}子节点不是文本节点。