2013-02-16 90 views
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); 

上面三个选择标有¬

+1

使用jQuery,你可能能够使用'$( '根> elem1:最后的类型' )',至于QueryPath我不知道,但。 – 2013-02-16 19:24:52

+1

[我之前评论的概念证明](http://jsfiddle.net/davidThomas/RehZ7/)。 – 2013-02-16 19:30:15

回答

2

的elem1可以使用last方法:

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

通过查看的QueryPath API似乎你可以编写:

$root->children('elem1')->last() 
0

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

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

OR

您可以使用:last-child Selector,其选择是他们的父母的最后一个孩子的所有元素。

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