0

我正在尝试使用 E4X 过滤 JavaScript 中的一些 XML,并有一些特定的需求。鉴于以下情况:

    var xml = <正文>
      <div>
        <p>这是我的一些文字。</p>
      </div>
    </div>;

我想在文档中搜索以“这是一些文本”开头的段落。

目前我可以通过以下方式获得该段落:

xml..div(p.text().toString().indexOf("This is some text") === 0)

然而,“真正的”XML 要复杂得多(想想:一个普通的网页)。不能保证会有一个 div 直接作为问题段落的父级。在同一父元素内的相关段落之前/之后可能还有其他段落。

有任何想法吗?

4

1 回答 1

3

使用双点运算符搜索任何嵌套调平的所有 <p> 节点,然后过滤掉节点以仅包含以所需字符串开头的节点。你很接近,你只需要摆脱 <div> 因为,正如你所说, <div> 可能不存在。:

xml..p.( text().toString().indexOf("This is some text") == 0 );
于 2009-06-29T17:31:06.640 回答