Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

AndreyDN

Pegar ordem de divs

Recommended Posts

Gente preciso de uma ajuda

 

preciso pegar a sequencia de divs e numera-las.

 

tenhos essas divs:

<div class="item">
    <li>
        <a class="active" id="item1"></a>
    </li>
</div>
<div class="item">
    <li>
        <a id="item2"></a>
    </li>
</div>
<div class="item">
    <li>
        <a id="item3"></a>
    </li>
</div>

Preciso pegar com javascript a sequencia delas mas somente na que tem active

 

por exemplo:

 

$(".active").getOrdemDaDiv (first, second)

 

echo $ordemDaDiv(numeral, ou seja, 1)

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
var ordemDiv = $(".active").closest(".item").index()

Mas, porque colocar .active no <a> ao invés de colocar na <div>?

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu preciso pegar a ordem da div que tem o active...

 

porque vou exibir o numero conforme a ordem que ela se encontra.

 

por exemplo:

 

uma pessoa clicou no trabalho "home" e a div "home-index" ganha a class "active"

 

ai depois disso quero pegar a id que tem a class "Active" e saber a ordem dela (se a primeira , segunda) e imprimir em numeral

Compartilhar este post


Link para o post
Compartilhar em outros sites

No caso, é o índice da DIV, onde o link possui a classe .active, certo?

 

Tenta adaptar este script (em Jquery, neste caso) no seu código geral:

$('.active').closest('div').index();

Em Javascript puro e solene, um pouco mais desafiador pra mim, que sou iniciante, mas aceitei o desafio:

function getActiveIndex() {
  var elem = document.querySelector('.active');
  var parent = elem.parentNode.parentNode;
  var group = Array.prototype.slice.call(document.getElementsByTagName(parent.tagName));
  return group.indexOf(parent);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esta utilizando jQuery? Se sim, o código que te passei armazena na variável ordemDiv o valor do index da <div> que possui o <a class="active">. É só dar um alert(ordemDiv) pra ver o valor. Se não, utilize o código do @Lucas

var ordemDiv = $(".active").closest(".item").index()

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.