Ir para conteúdo

POWERED BY:

Arquivado

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

gdx02

[Resolvido] Descobrir quantas tags SPAN tem na página

Recommended Posts

Salve, Salve.....salvem-me!! heheheehehe

 

Preciso descobrir quantas tags <span> tem na minha página, que é dinâmica. Como elas tem sempre um id do tipo "sp_1", "sp_2"....pensei numa rotina assim

 

function descobreQuantos(){
	if(!iniCont || iniCont==false){
		var i = 0;
		var iniCont = true;
	}
	if(document.getElementById('sp_'+i)){
		i++;
		proximoSP();		
	}else{
		alert(i);
	}
}
function proximoSP(){
	descobreQuantos();
}

A função descobreQuantos() é chamada por um botão na página. O alert me retorna 0 e não acusa erro nenhum...

 

Alguém tem outro jeito de contar quantas tags SPAN (com ID) tem na página?

 

Só pra contextualizar:

Preciso disso pra poder gerar outras através de outra função, então teria que concatenar o resultado da contagem com a string 'sp_' pra fazer o ID dessa nova tag span

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

gdx02,

 

criei esta função para você:

 

var spans = function()
{
var a, b = [];
	a = document.getElementsByTagName('span');
	for(var x=0;x < a.length;x++)
	{
		if(/^sp_/.test(a[x].id))
		b.push(a[x]);
	}
	return b;
}

Ela retorna um Array com todos os spans que possuem ID que começam com 'sp_'.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nussa, klaygomes....demais!!

 

Matou a pau! Valews mesmo

 

http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

 

Só que pra atender de verdade o que eu precisava, dei uma mexida e ficou assim:

 

function spans(){
	var a, b = [];
	var y=0;
	a = document.getElementsByTagName('span');
	for(var x=0;x < a.length;x++){
		if(document.getElementById('sp_'+x)){
			b.push(a[x]);
			y++;
		}
	}
	alert(y);
}

isso pq o seu código de retornava 6 (quantidade certa de tags span), sendo que deveria retornar 4 (quantidade de tags span com id tipo 'sp_')

 

Abração!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

gdx02,

Não entendi.

 

A função spans(), deveria retornar APENAS as spans com ID iniciado por sp_ esta condição eu verifico aqui:

if(/^sp_/.test(a[x].id))
Usando expressões regulares.

 

Antes de postar o código, simulei um exemplo (no Firefox) e havia saido redondo :unsure:

 

Mesmo assim, legal você ter conseguido por contra própria.

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.