如何有效地从最终获得一定数量的元素?
<div><span>1</span></div>
<div><div>looks like 2</div></div>
<div>three!!</div>
例如,我如何获取最后2 div
s的内容?
答案 0 :(得分:1)
如果您的意思是JQuery,那将是这样的(就像我理解您的问题一样)
var last = 5;
jQuery('body> div:nth-last-child('+(last+1)+') ~div')
答案 1 :(得分:1)
如果您正在寻找xpath查询 - 您可以在Javascript或PHP中使用它:
*[position() > last() - 2]
相对于父节点context-node执行它:
$doc = new DOMDocument();
$doc->loadXML($xml);
$context = $doc->documentElement;
$xp = new DOMXPath($doc);
$elements = $xp->query('*[position() > last() - 2]', $context);
var_dump($elements->length);
foreach($elements as $i => $element) {
printf("%d: %s\n", $i, $doc->saveXML($element));
}
输出:
int(2)
0: <div>
<div>looks like 2</div>
</div>
1: <div>three!!</div>
希望这会有所帮助。我采取了美化XML的权利。 Online Demo is here
答案 2 :(得分:1)
$(document).ready(function(){
var total = $("div").length;
var last = $("div").eq(total-1).html();
var secondlast = $("div").eq(total-2).html();
});
参见演示here