【问题标题】:Javascript, how to select using DOM xpath something between <br> tagJavascript,如何在 <br> 标签之间使用 DOM xpath 进行选择
【发布时间】:2013-04-10 14:04:21
【问题描述】:

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

<!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>

【问题讨论】:

    标签: javascript dom xpath


    【解决方案1】:

    &lt;/br&gt; 不是有效的 HTML,因为 br 元素是一个空元素。

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

    【讨论】:

      【解决方案2】:

      假设&lt;br&gt; 是p 中唯一的标签。你可以拆分每个&lt;br&gt; 标签来获得一个元素数组。

      注意:&lt;/br&gt; 无效。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-06-05
        相关资源
        最近更新 更多