如何使用javascript读取最后一个元素ID?
例如:
<div id='print'>
<p id=1>some data</p>
<p id=2>some data</p>
<p id=3>some data</p>
<p id=4>some data</p>
<p id=5>some data</p>
</div>
我需要检测最后的ID
我需要id的最大数量。它是按顺序生成的。
答案 0 :(得分:5)
首先,id值不能是数字。它们必须以非数字开头。
你可以使用这个普通的javascript(不需要jQuery)获得最后一个孩子:
var lastChild = document.getElementById("print").lastChild;
var lastChildID = lastChild.id;
或在一行中,就是这样:
var lastChildID = document.getElementById("print").lastChild.id
仅供参考,如果您需要访问任何其他孩子,您可以随时获得所有孩子,然后获取您想要的孩子:
var children = document.getElementById("print").children;
if (children.length > 1) {
var first = children[0];
var last = children[children.length - 1];
var second = children[1];
}
现在你已经解释了你真正要做的事情,我建议你这样做:
<div id='print'>
<p data-num="1">some data</p>
<p data-num="2">some data</p>
<p data-num="3">some data</p>
<p data-num="4">some data</p>
<p data-num="5">some data</p>
</div>
然后这个javascript:
var lastValue = document.getElementById("print").lastChild.getAttribute("data-num");
使用data-xxx
格式可与HTML5规范向前兼容,并可在getAttribute()
的旧版浏览器中使用。
答案 1 :(得分:3)
试试这个:
getElementById('print').lastChild.id;
答案 2 :(得分:0)
在jQuery中,你可以简单地使用他们的选择器来找到它:
$("p").last().attr("id");
答案 3 :(得分:0)
如果您使用jQuery,您可以执行类似$("div#print :last-child").attr('id')
答案 4 :(得分:0)
尝试这种方式: -
$('p:last').attr('id')
OR
$('div#print p:last').attr('id')