проверить последний div с определенным идентификатором на странице - PullRequest
2 голосов
/ 28 февраля 2012

У меня есть следующая разметка:

<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 последним div с идентификатором div-% s на странице?

Ответы [ 6 ]

5 голосов
/ 28 февраля 2012

Вы можете сделать:

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

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

РЕДАКТИРОВАТЬ - еще лучше (таким образом, вы рассматриваете только div с id, который начинается с div-:

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

if(lastDivId === 'div-5'){
//the last div is the one with id = div-5
1 голос
/ 28 февраля 2012

Попробуйте это. Он выберет последний div с текстом div- в его идентификаторе и сообщит вам его идентификатор. Просто

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');
1 голос
/ 28 февраля 2012

Не очень эффективно, но, по крайней мере, должно работать.

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
0 голосов
/ 28 февраля 2012

Я бы взял контейнерный элемент div и использовал бы псевдо-селектор: last, чтобы получить последнего потомка.

var res = ($("body div:last")[0].id  ==  "div-5") ?  alert('last div is div-5') : alert('last div is not div-5');
0 голосов
/ 28 февраля 2012

Просто альтернативный способ

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

, чтобы вы могли избежать также вызова .attr() метода

0 голосов
/ 28 февраля 2012
$(function()
{
   alert($("div:last").attr("id"));
});

даст вам последний div

Edit:

Вы также можете получить последнего ребенка как

$("div :last-child")

надеюсь, что это поможет ............

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...