Manipular código html em variável javascript

883 views
Skip to first unread message

Paulo Patto

unread,
Mar 22, 2012, 1:51:31 PM3/22/12
to jQuery-br
Olá pessoal, tudo bem?

Alguém poderia me responder se isso seria possível; eu quero carregar uma página dinamicamente via ajax, mas em vez de lançar esse html direto no navegador eu gostaria de poder manipular o código html em uma variável do javascript. Bem vamos a um exemplo do que eu quero fazer quem sabe ajude a vocês a entender o que eu quero.

Eu carrego uma página $page via $.ajax, com o retorno (callback) do jQuery.ajax eu quero jogar em uma variável $html e quero manipular as tags html nesta variável, ou seja adicionar elemento, remover, alterar atributos de tags... 

Alguém sabe se isso é possível?

--
Paulo Patto
"Se em vez de enchermos o bolso enchermos a cabeça, não seremos roubados"

Leonardo Rodrigues

unread,
Mar 22, 2012, 1:55:22 PM3/22/12
to jque...@googlegroups.com
corrigiam-me se eu estiver errado mas se nao me engano voce pode usar .find na variavel de boa, nao sei o quesito desempenho como vai ser!
tipo jQuery($data).find('O QUE VOCE QUER').attr('alt','teste');

André de Castro

unread,
Mar 22, 2012, 4:37:18 PM3/22/12
to jque...@googlegroups.com
Passei por isso há pouco tempo

$(document).ready(function()
{
$.ajax({
type: "GET",
url: "config.html",
dataType: "html",
success: parser
});
});

function parser(html)
{

$(html).find("TAG").children().each(function(){ 
cattemp = $(this).attr("name");

etc,etc,etc....

}

Ou seja, dá pra manipular os elementos da variavel $(html) ,tendo ela como contexto, dentro da funcao que é chamada (parser)

2012/3/22 Leonardo Rodrigues <leo0...@gmail.com>



--
André de Castro

Willian Duarte

unread,
Mar 26, 2012, 8:58:10 AM3/26/12
to jQuery (Brasil)
Funciona bem. Porém considere sempre carregar apenas informações úteis
para sua página.

Não é correto carregar um html inteiro via ajax.





On 22 mar, 16:37, André de Castro <aocbra...@gmail.com> wrote:
> Passei por isso há pouco tempo
>
> $(document).ready(function()
> {
> $.ajax({
> type: "GET",
>  url: "config.html",
> dataType: "html",
> success: parser
>  });
>
> });
>
> function parser(html)
> {
>
> $(html).find("TAG").children().each(function(){
>
> cattemp = $(this).attr("name");
>
> etc,etc,etc....
>
> }
>
> Ou seja, dá pra manipular os elementos da variavel $(html) ,tendo ela como
> contexto, dentro da funcao que é chamada (parser)
>
> 2012/3/22 Leonardo Rodrigues <leo07v...@gmail.com>
>
>
>
>
>
>
>
>
>
> > corrigiam-me se eu estiver errado mas se nao me engano voce pode usar
> > .find na variavel de boa, nao sei o quesito desempenho como vai ser!
> > tipo jQuery($data).find('O QUE VOCE QUER').attr('alt','teste');
>
> > Em 22 de março de 2012 14:51, Paulo Patto <paulopa...@gmail.com> escreveu:
>
> > Olá pessoal, tudo bem?
>
> >> Alguém poderia me responder se isso seria possível; eu quero carregar uma
> >> página dinamicamente via ajax, mas em vez de lançar esse html direto no
> >> navegador eu gostaria de poder manipular o código html em uma variável do
> >> javascript. Bem vamos a um exemplo do que eu quero fazer quem sabe ajude a
> >> vocês a entender o que eu quero.
>
> >> Eu carrego uma página *$page* via *$.ajax*, com o retorno (*callback*)
> >> do *jQuery.ajax* eu quero jogar em uma variável *$html *e quero
> >> manipular as tags html nesta variável, ou seja adicionar elemento, remover,
> >> alterar atributos de tags...
>
> >> Alguém sabe se isso é possível?
>
> >> --
> >> *Paulo Patto*
> >> *"Se em vez de enchermos o bolso enchermos a cabeça, não seremos
> >> roubados"*
>
> >>  --
> >> Grupo de jQuery Brasil.
>
> >> REGRAS:
> >>https://docs.google.com/document/d/1VfvTDmeHTSj-L5ouZJjQQ4OkjTCU1Hr2X...
>
> >> USE O JSBIN.COM / JSFIDDLE.NET PARA CÓDIGOS.
>
> >> Email: jque...@googlegroups.com
> >> Biba: jquery-br+...@googlegroups.com
> >> Site:http://groups.google.com/group/jquery-br?hl=pt-BR
>
> > --
> > Leonardo Rodrigues da Silva
> > WebDeveloper
>
> >http://www.leo.voudeargohost.net/
> >http://about.me/leo07vasp
> >http://www.linkedin.com/profile/view?id=104259451
> >http://www.facebook.com/leo07vasp
> >http://www.twitter.com/leo07vasp
>
> >  --
> > Grupo de jQuery Brasil.
>
> > REGRAS:
> >https://docs.google.com/document/d/1VfvTDmeHTSj-L5ouZJjQQ4OkjTCU1Hr2X...

Neto Neto

unread,
Apr 7, 2012, 8:03:44 AM4/7/12
to jque...@googlegroups.com
Faço minhas as palavras do @Willson Duarte.
Traga apenas o essencial, e se possível, coloque esses if's e manipulações no server mesmo.


Neto - Web developer
+55 11 8730.8879


2012/3/26 Willian Duarte <willia...@gmail.com>

Marcelo Nunes

unread,
Apr 7, 2012, 10:38:04 PM4/7/12
to jque...@googlegroups.com
Não é correto carregar um html inteiro via ajax.

Na verdade, é e não é. 

Se você está desenvolvendo uma página web, então o foco é a portabilidade e quanto menos Javascript melhor, agora se você está desenvolvendo uma Aplicação Web. Geralmente vale a pena sacrificar a portabilidade para dar mais usabilidade para o sistema que você está desenvolvendo.

Mês passado, a equipe de desenvolvedores do Google lançou um documento chamado "Field Guide to Web Application" aonde eles definem o que eles consideram uma verdadeira aplicação Web para os dias de hoje, considerando o que já existe em JavaScript e HTML5. A coisa chega a ser assustadora porque, basicamente, o que eles dizem é que uma aplicação Web tem um corpo que não é muito mais do que um <body></body> e o resto é TUDO por JavaScript. Além disto, POST E GET não existem: você abre a página inicial e fica para sempre ali trocando todas as informações via AJAX, exatamente conforme o Paulo está sugerindo.

O endereço do documento: http://www.html5rocks.com/webappfieldguide/toc/index/ Acho que ainda não foi traduzido.

Bem, este não é o meu ponto de vista, mas sim a visão do Google. Uma visão bem futurista e um tanto tendenciosa (por que atualmente a maioria dos recursos de HTML5 não funciona no IE e o que eles pretendem é fazer o Chrome ganhar mercado. Mas se o Google resolveu dizer que mudou tudo, então é bom ficar de olho.

[]s
Marcelo

Ruan Carlos

unread,
Apr 8, 2012, 11:07:22 AM4/8/12
to jque...@googlegroups.com
Curtir o texto do Marcelo =D.
-----------------------------------------------------------------
Ruan Carlos
@ruanltbg
www.ruancarlos.com.br
www.jquerybrasil.org
Bacharel em Sistemas de Informação - Desenvolvedor web



André de Castro

unread,
Apr 16, 2012, 1:11:24 PM4/16/12
to jque...@googlegroups.com
Eu nao vejo problemas,quando eu precisei fazer isso,minha aplicação foi justamente o que o Marcelo citou,rodava completamente offline,carregava um arquivo de configuracao xml e partir disso criava o html dinamicamente.
Quando se quer trazer muitos dados de uma pagina "remota",nao vejo o problema de se carregá-la totalmente antes de manipulá-la.
Faz mais sentido do que fazer múltiplas requisições.


2012/4/8 Ruan Carlos <ruan...@gmail.com>



--
André de Castro

Reply all
Reply to author
Forward
0 new messages