如何在jQuery中选择其兄弟元素具有文本“X”的元素?

Posted

技术标签:

【中文标题】如何在jQuery中选择其兄弟元素具有文本“X”的元素?【英文标题】:How to select element whose sibling has text "X" in jQuery? 【发布时间】:2013-08-01 19:52:15 【问题描述】:

xml内容是这样的:

<LinkSetDb>
 <DbTo>gds</DbTo>
 <LinkName>pubmed_gds</LinkName>
 <Link><Id>200028789</Id></Link>
 <Link><Id>200028788</Id></Link>
 <Link><Id>200028305</Id></Link>
 </LinkSetDb>
<LinkSetDb>
 <DbTo>not need</DbTo>
 <LinkName>not needed</LinkName>
 <Link><Id>1</Id></Link>
 <Link><Id>2</Id></Link>
 <Link><Id>3</Id></Link>
</LinkSetDb>

我需要的是获取Link 元素,它们是(1)LinkSetDb 的子元素(2)有兄弟DbTo,其内容是gds。 (结果将是这三个节点:

  <Link><Id>200028789</Id></Link>
  <Link><Id>200028788</Id></Link>
  <Link><Id>200028305</Id></Link>

) 我做了一些谷歌并尝试了$("LinkSetDb:contains('gds') Link),但它不起作用..有人对此有想法吗?谢谢

【问题讨论】:

【参考方案1】:

试试~,Next Siblings Selector$("prev ~ siblings")

选择“prev”元素之后的所有兄弟元素,具有相同的父元素,并匹配过滤“兄弟”选择器。

更具体到您的情况:

$("LinkSetDb DbTo:contains('gds') ~ Link")

【讨论】:

以上是关于如何在jQuery中选择其兄弟元素具有文本“X”的元素?的主要内容,如果未能解决你的问题,请参考以下文章

jQuery选择器

如何使用 jQuery 选择具有特定文本的中间节点:包含选择器?

jQuery:如何选择具有包含 x 属性的子元素或元素?

jquery得到兄弟元素并且根据其innerHtml修改他的innerHtml

jQuery:在父级中选择具有类名的内部和外部第一个元素

如何使用JQuery在输入中选择其孩子在最后一个不为空的父级的上一个兄弟姐妹