Ir para conteúdo

POWERED BY:

Arquivado

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

luan_alves

[Resolvido] selecionar todos os atributos dos paragrafos

Recommended Posts

Boa noite, mais uma vez eu venho a recorrer a voces meus amigos, estou querendo selecionar o valor dos atributos de alguns paragrafos com jquery e não sei como fazer.

este aqui é o meu código html que eu quero pegar os valores.

<p value="menu" id="testep"></p>
<p value="banner" id="testep"></p>

<p><input type="button" value="Gerar"/></p>

estes são os paragrafos o modo que eu estou tentando pegar os valores é

$(':button[value="Gerar"]').click(function(){
alert($(':P[id="testep"]').attr("value"));
});

este código me traz apenas o valor do primeiro atributo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Okay.. primeiro erro:

 

1. não repita IDs num documento. Este deve ser um identificador único.

 

Segundo erro:

2. falha na lógica. Se você tem mais de um elemento, só vai conseguir exibir com um loop o valor dos outros.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){

$(':button[value="Gerar"]').click(function(){

	$('p.testep').each(function(){//loop
		alert( $( this ).attr("value") );
	});
});

});
</script>

<p value="menu" class="testep">Paragrafo1</p>
<p value="banner" class="testep">Paragrafo1</p>

<p><input type="button" value="Gerar"/></p>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Depende cara.. e depois ? oque você vai querer fazer?

 

se for 'só isso', coloca num array.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mostre como você tentou, dai prosseguimos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu já tentei de diversos modos mas o último que eu tentei foi

var cont = "";
                      var teste = new Array();

                   $(':button[value="Gerar"]').click(function(){
                      cont = ($('#exibir p').size());
                       for (i=1; i<=cont; i++)
                        {
                           teste[i] = ($('#testep').attr('value'));
                           alert(teste[i]);
                        }
                   })

mas ele só me traz o valor do primeiro paragrafo

Compartilhar este post


Link para o post
Compartilhar em outros sites

arrays começam na posição 0

for (i=0; i<cont; i++)

 

e coloque esse alert fora do loop.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara.. para de programar.. e dá uma estudada..

 

dá uma olhada:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){


$(':button[value="Gerar"]').click(function(){
	var arr = Array();
	$('p.testep').each(function( i ){//loop
		arr[ i ] = $( this ).attr("value");
	});
	alert( arr );
});
});
</script>

<p value="menu" class="testep">Paragrafo1</p>
<p value="banner" class="testep">Paragrafo1</p>
<p value="outro" class="testep">Paragrafo2</p>

<p><input type="button" value="Gerar"/></p>

simples e pequena alteração no script que lhe mandei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas hein?!

 

Não lhe faltei respeito em nenhum momento.

Por favor, leia as regras do fórum: http://forum.imasters.com.br/index.php?app=core&module=help

 

eu estou aqui voluntariamente, e NÃO, NÃO ESTOU AQUI PARA AJUDAR.

A função do Moderador, é não deixar esse tipo de situação ocorrer. Te indiquei uma forma bonita de resolver, te ajudei e agora você está me agredindo ?

 

Mostre como você resolveu, para vermos se 'foi tão melhor' do que oque eu propus.

Compartilhar este post


Link para o post
Compartilhar em outros sites

E.. ?

 

até ai você não resolveu o problema proposto: salvar num array o retorno os values dos parágrafos.

 

Eu lhe dei alí uma variavel arr que contém exatamente o que você pediu.

O código que você apresentou agora não resolve nada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

então deichou de frescura né, eu vou te explicar,

o valor passado no parametro .each(index) ele será um array e recebera as informações do $( this ).attr("value").

agora já que você manja pra cara... faça a alteração para o seu script funcionar.

no meu caso funcionou da seguinte forma

$(':button[value="Gerar"]').click(function(){
                       $('p#testep').each(function(index){//loop
                           alert(index + ': ' + $( this ).attr("value"));
                       });
                   });

 

estude um pouco e veja se da para resolver melhor

Compartilhar este post


Link para o post
Compartilhar em outros sites

então deichou de frescura né, eu vou te explicar,

 

estude um pouco e veja se da para resolver melhor

Eu já resolvi.

Presta atenção ali em cima.

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.