2013-04-10 60 views
0

如何选择<br>标签之间的东西,使用XPath或可能建议其他解决方案。 到目前为止,这是我的代码,我选择<p>,但我需要的是<br>标签之间:Javascript,如何选择使用DOM xpath之间的东西<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> 

回答

1

</br>是无效的HTML作为br元素是一个空元素。

至于XPath的来讲,你可以使用路径//p/br[1]/following-sibling::node()[1][self::text()]选择具有字符串值select this文本节点,并选择一个空节点的情况下,设置第一br孩子的下面兄弟是不是一个文本节点。

1

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

注意:</br>无效。

var strings = 'some text <br>select this <br/>and not this'.split(/<br\/?>/i); 
alert(strings.length); //3 
相关问题