Ir para conteúdo

POWERED BY:

Arquivado

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

Blod

prepend() jQuery

Recommended Posts

Olá pessoal, tenho o seguinte problema: quero dar um prepend com esse código:

 

<table width=\"264\" class=\"post\">
 <tr>
   <td width=\"42\" class=\"user\" style=\"background:url(http://www.habbo.com.br/habbo-imaging/avatarimage?user=<?php echo $post->idToNome($_SESSION[usr_id]); ?>&direction=2&head_direction=2&gesture=spk&img_format=gif)-12px -22px no-repeat;\">
   </td>
   <td width=\"166\"><?php 
echo $texto;
?></td>
 </tr>
 <tr class=\"statisc\">
 <td><div id=\"vote\"><img src=\"../img/positivo.gif\"/> 0</div></td>
 <td id=\"ago\"><div id=\"time\">0 segundos atrás</div></td>
 </tr>
</table>

Só que ele não vai se eu colocar assim:

$("#idDiv").prepend("<table width=\"264\" class=\"post\">
 <tr>
   <td width=\"42\" class=\"user\" style=\"background:url(http://www.habbo.com.br/habbo-imaging/avatarimage?user=<?php echo $post->idToNome($_SESSION[usr_id]); ?>&direction=2&head_direction=2&gesture=spk&img_format=gif)-12px -22px no-repeat;\">
   </td>
   <td width=\"166\"><?php 
echo $texto;
?></td>
 </tr>
 <tr class=\"statisc\">
 <td><div id=\"vote\"><img src=\"../img/positivo.gif\"/> 0</div></td>
 <td id=\"ago\"><div id=\"time\">0 segundos atrás</div></td>
 </tr>
</table>");

Mas não vai.... já tentei com

$("#idDiv")prepend(function(n){//código aqui});

E nada adiantou, alguém pode me dar uma luz no fim do túnel ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em casos assim, sempre use o console de JavaScript do navegador. A maneira é mais rápida é inserindo diretamente o código jQuery e vendo seu retorno, se for diferente de nulo ou diferente de undefined, está tudo bem. No seu caso, digite apenas:

 

$("#idDiv")

E verifique o retorno. Se houver algum, o problema está mesmo no código passado no parâmetro da função prepend().

 

Ah, e outra coisa: ao invés de usar contra-barras para escapar as aspas duplas, inicie o texto com aspas simples, daí não serão necessárias as contra-barras =]

 

Boa sorte!

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema são as quebras de linha. você precisa concatenar cada linha, com a linha de baixo:

 

$("#idDiv").prepend("<table width=\"264\" class=\"post\">"+
 "<tr>"+

 

entendeu ?

 

 

para debugar código javascript, aperte Ctrl+Shift+J no Firefox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá willian, concatenar também não deu certo, eu coloquei a palavra "oi" e ele deu prepend então o problema está realmente no código o qual estou querendo dar prepend....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim, exatamente.

 

Problema de sintaxe. Mostre como você tentou.

Oque apareceu no console de erros ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Willian consegui resolver o problema, era que a versão do jQuery na página não dava suporte a prepend() mais agora tenho um problema com o .html(), já troquei várias vezes o arquivo jquery e não vai, exemplo:

 

// Se eu coloco:
$("#res").html(response);
$("$res").attr("cursor", "pointer");

 

Ele não executa nem o primeiro e nem o segundo, mas se eu coloco assim:

// Se eu coloco:
$("$res").attr("cursor", "pointer");
$("#res").html(response);

 

Ele executa o primeiro mais o segundo não....oq pode ser ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

pq você usou o $ ?

 

$("#res").attr("cursor", "pointer");
$("#res").html(response);

 

acompanhe pelo Ctrl+Shift+J cara.. o console de erros vai te indicar tudo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Use métodos em cadeia, daí o jQuery não precisa criar novos objetos:

 

$("#res").css("cursor", "pointer").html(response);

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.