Javascript,如何使用DOM xpath选择介于<;br>;标签
如何使用xpath或建议其他解决方案在Javascript,如何使用DOM xpath选择介于<;br>;标签,javascript,dom,xpath,Javascript,Dom,Xpath,如何使用xpath或建议其他解决方案在标记之间进行选择。 到目前为止,这是我的代码,我选择了,但我需要标记之间的内容: <!DOCTYPE html> <html> <head> </head> <body> <p>some text <br>select this </br>and not this</p> <div id="insert"></div> <
标记之间进行选择。
到目前为止,这是我的代码,我选择了
,但我需要
标记之间的内容:
<!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>
一些文本
选择此而不是此
数据=文件;
var headers=data.evaluate(“//p”,data,null,XPathResult.ANY_TYPE,null);
var thishheading=headers.iterateNext();
var selectedText=“Selected:
”;
while(本标题){
selectedText+=thishheading.textContent+“
”;
thisHeading=headers.iterateNext();
}
document.getElementById('insert')。innerHTML=selectedText;
假设
是p
中唯一的标记。您可以对每个
标记进行拆分,以获得一个元素数组
注意:
无效
var strings='some text
选择this
而不是this'。拆分(//i);
警报(strings.length)//3.
那么
是无效的HTML,因为br
元素是空元素
就XPath而言,您可以使用路径//p/br[1]/following sibling::node()[1][self::text()]
来选择字符串值为的文本节点,并在第一个子br
的以下同级不是文本节点的情况下选择空节点集
var strings = 'some text <br>select this <br/>and not this'.split(/<br\/?>/i);
alert(strings.length); //3