Do I need to insert an HTML tag with jQuery to encapsulate the code below?

3

How to insert an HTML element after opening and before tag closing with jQuery?

This within a each :

$("#main_div").append('<div class="Ftitulo">'+item.titulo+'</div>')
$("#main_div").append('<div class="Fdescricao">'+item.descricao+'</div>')
$("#main_div").append('<a href="' +item.arquivo+ '" class="Farquivo"></a>')

Do this:

<div class="Ftitulo">Cadastro de terreno na prefeitura para eventos</div>
<div class="Fdescricao">Cadastro de terreno na prefeitura para eventos</div>
<a href="9737f3bf65dfe7231002380876ecd1b0.jpg" class="Farquivo"></a>

I need this:

<div id="pegatudo">
      <div class="Ftitulo">Cadastro de terreno na prefeitura para eventos</div>
      <div class="Fdescricao">Cadastro de terreno na prefeitura para eventos</div>
      <a href="9737f3bf65dfe7231002380876ecd1b0.jpg" class="Farquivo"></a>
</div>
    
asked by anonymous 04.08.2014 / 22:40

3 answers

7

I believe this can solve:

var pegatudo = $("<div/>",{id:"pegatudo"});

pegatudo.append('<div class="Ftitulo">'+item.titulo+'</div>');
pegatudo.append('<div class="Fdescricao">'+item.descricao+'</div>');
pegatudo.append('<a href="' +item.arquivo+ '" class="Farquivo"></a>');

$("#main_div").append(pegatudo);
    
04.08.2014 / 23:07
3

The simplest way to do it would be:

$("#main_div").append(
  '<div id="pegatudo">' +
    '<div class="Ftitulo">'+item.titulo+'</div>' + 
    '<div class="Fdescricao">'+item.descricao+'</div>' +
    '<a href="' +item.arquivo+ '" class="Farquivo"></a>' +
  '</div>'
);

Remember that when using .append , it will add the content (at the end) to a div with main_div ID, already existing on the page, keeping all the current contents of it.

To replace the content of it, for the new content use: $("#main_div").html('conteudo');

    
05.08.2014 / 01:29
2

I do not know if I understood your right question, but would not that be?

var s;
$.each(...) {
     s = s + montarDiv();
});
$("#main_div").append('<div id="pegatudo">' + s + '</div>');


function montarDiv(){
    var texto;
    texto ='<div class="Ftitulo">'+item.titulo+'</div>';
    texto = texto + '<div class="Fdescricao">'+item.descricao+'</div>';
    texto = texto + '<a href="' +item.arquivo+ '" class="Farquivo"></a>';
    return texto;
}

I believe this will solve.

    
04.08.2014 / 22:57