Содержимое 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), но это не работает .. Есть ли у кого-нибудь идеи по этому поводу? Спасибо

0
Hanfei Sun 1 Авг 2013 в 07:27

1 ответ

Лучший ответ

Попробуйте ~, Селектор следующих братьев и сестер $("prev ~ siblings"):

Выбирает все одноуровневые элементы, следующие после элемента «prev», имеющие того же родителя и соответствующие фильтрующему селектору «братьев и сестер».

Более конкретно для вашего случая:

$("LinkSetDb DbTo:contains('gds') ~ Link")
2
acdcjunior 1 Авг 2013 в 07:32