2013-04-10 61 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 
相關問題