检查页面上具有特定ID的最后一个div

时间:2012-02-28 11:52:18

标签: jquery jquery-selectors

我有以下标记:

<div id="div-1">1st div</div>
<div id="div-2">2nd div</div>
<div id="div-3">3rd div</div>
<div id="div-4">4th div</div>
<div id="div-5">5st div</div>

如何测试第5个div是否是页面上id为div-%s的最后一个div?

6 个答案:

答案 0 :(得分:5)

你可以这样做:

var lastDivId = $('div:last').attr('id');

if(lastDivId === 'div-5'){
//the last div is the one with id = div-5

编辑 - 甚至更好(通过这种方式,您只考虑以id开头的div-的div:

var lastDivId = $('div[id^=div-]:last').attr('id');

if(lastDivId === 'div-5'){
//the last div is the one with id = div-5

答案 1 :(得分:1)

效率不高,但至少应该有效。

var i = 0,
    el;
do {
   el = document.getElementById( 'div-' + i );
   i += 1;
} while( el );
// now el contains a reference to the last div element with an id of your syntax

答案 2 :(得分:1)

试试这个。它将在其ID中选择文本div-的最后一个div并告诉您其ID。只是

if ($('div[id^=div-]:last').attr('id')=='div-5'){
    alert('div 5 is the last div');
else
    alert('div 5 is NOT the last div');

答案 3 :(得分:0)

$(function()
{
   alert($("div:last").attr("id"));
});

会给你最后一个div

编辑:

你也可以得到最后一个孩子

$("div :last-child")
希望这有帮助............

答案 4 :(得分:0)

只是另一种方式

if ($('#div-5 + div[id^="div-"]').length === 0) {
   /* div-5 is last div */
} 

因此您可以避免同时调用.attr()方法

答案 5 :(得分:0)

我会使用div的容器元素并使用伪选择器:last来获取最后一个孩子。

var res = ($("body div:last")[0].id  ==  "div-5") ?  alert('last div is div-5') : alert('last div is not div-5');