Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá pessoal, boa noite.
Galera é o seguinte, tenho o seguinte menu que é formado a partir do código HTML abaixo.
<ul class="menuClasses">
<li>
<a href="#" class="itemMenu" id="Disease">+ Disease</a>
<div class="conteudoMenu">
<a href="#" id="name">- name</a>
<a href="#" id="class">- class</a>
</div>
</li>
<li>
<a href="#" class="itemMenu" id="Drug">+ Drug</a>
<div class="conteudoMenu">
<a href="#" id="name">- name</a>
<a href="#" id="indication">- indication</a>
<a href="#" id="metabolism">- metabolism</a>
<a href="#" id="pregnancyCategory">- pregnancyCategory</a>
</div>
</li>
</ul>
Com o código abaixo consigo pegar tanto os valores que estão contidos na minha class itemMenu, que são armazenados no meu array menu, quanto os valores contidos na minha class conteudoMenu que são armazenados no meu array subMenu.
// Pega os elementos do menu após um click
var menu = [];
var subMenu = [];
$(".conteudoMenu a").click(function(e){
var valueMenu = $(this).parent(".conteudoMenu").parent("li").find(".itemMenu").attr("id");
var valueSubMenu = $(this).attr("id");
menu.push(valueMenu);
subMenu.push(valueSubMenu);
alert(menu);
});Já pesquisei algumas soluções, mas nenhuma deu certo.
Então, alguém sabe me dizer como que faço para conseguir isto?
Desde de já obrigado pela ajuda de todos.
Abraço.
Olá pessoal, conseguir fazer da utilizando a biblioteca underscore.js
Enfim, fiz da seguinte maneira abaixo.
Primeiramente obtive todos os itens do meu menu com o seguinte código abaixo.
Após isso utilizei o método _.intersection da biblioteca underscore.js e meu código ficou da seguinte maneira abaixo. Com isso conseguir que elementos repetidos não fossem adicionados.Detalhe, quando utilizo esse método, minha variável é transformada em um array.
Caso alguém conheça uma outra solução fique a vontade pra postar.