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

Asked

Viewed 1,758 times

3

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

That 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 it:

<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>

3 answers

7


I believe that 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);

3

The simplest way to do it would be like this:

$("#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>'
);

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

To replace its contents with the new content use: $("#main_div").html('conteudo');

2

I don’t know if I understand your question, but it wouldn’t be that?

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 that solves.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.