首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用nodes ()选择同级节点

使用nodes ()选择同级节点
EN

Stack Overflow用户
提问于 2015-04-19 16:55:27
回答 1查看 36关注 0票数 1

我在代码中选择以下特定标题时遇到了麻烦:

代码语言:javascript
复制
<div>
    <h2>Section 1</h2>
    <div>Item 1</div>
    <div>Item 2</div>
    <h2>Section 2</h2>
    <div>Item 3</div>
    <div>Item 4</div>
    <div>Item 5</div>
</div>

我试图让节点使用前面的兄弟姐妹,比如:

代码语言:javascript
复制
//div/div[preceding-sibling::h2[1][position()=1]]

我需要所有的div,其中最前面的h2兄弟姐妹位置1,但我仍然得到所有的5个项目。

你能告诉我我做错了什么吗?

输出位置1的示例(第1节):

代码语言:javascript
复制
<div>Item 1</div>
<div>Item 2</div>

输出位置2的示例(第2节):

代码语言:javascript
复制
<div>Item 3</div>
<div>Item 4</div>
<div>Item 5</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-19 18:26:07

这可能是一件棘手的事情,但您可以使用的一种方法是count()

代码语言:javascript
复制
//div/div[count(preceding-sibling::h2) = 1]

您对position()的尝试没有奏效的原因是,position()是相对于当前的选择进行评估的。使用preceding-sibling::h2[1][position()=1],您将选择最近的h2,然后选择该集合中的第一个节点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29732888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档