元素Javascript的最后一个id

时间:2012-02-26 08:44:59

标签: javascript

如何使用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的最大数量。它是按顺序生成的。

5 个答案:

答案 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')