2

我的 XML 结构就像

<root>
  <elem1>..</elem1>
  <elem1>..</elem1>
  *<elem1>..</elem1>*
  <elem2>
    <elem1>..</elem1>
    <elem1>..</elem1>
    ¬ <elem1>..</elem1> ¬
  </elem2>
</root>

我需要选择根的直接子级的最后一个 elem1(标有 * *)。

我想在 QueryPath - http://querypath.org中进行。但是 JQuery 语法也可以提供帮助。

$root->find('elem1')->last();
$root->find('elem1:last);
$root->find('elem1:last-child); 

以上三个都选择了带有¬标记的elem1

4

3 回答 3

2

您可以使用last方法:

$('root > elem1').last();

通过查看 QueryPath API,您似乎可以编写代码:

$root->children('elem1')->last()
于 2013-02-16T19:25:08.963 回答
0

last()方法将匹配元素的集合减少到集合中的最后一个,可以像下面那样为你做;

$('root > elem1').last();

或者

您可以使用:last-child 选择器来选择作为其父级最后一个子级的所有元素。

$('root elem1:last-child');
于 2013-02-16T19:27:49.113 回答
0

这有效

$root->find('elem1:last-of-type'); 

感谢 David Thomas 的概念证明 http://jsfiddle.net/davidThomas/RehZ7/

于 2013-02-16T19:37:23.313 回答