Eu tenho na página div:
<div id="here_table"></div>
e em jquery:
for(i=0;i<3;i++){
$('#here_table').append( 'result' + i );
}
isso está gerando para mim:
<div id="here_table">
result1 result2 result3 etc
</div>
Eu gostaria de receber isso na tabela:
<div id="here_table">
<table>
<tr><td>result1</td></tr>
<tr><td>result2</td></tr>
<tr><td>result3</td></tr>
</table>
</div>
Eu fazendo:
$('#here_table').append( '<table>' );
for(i=0;i<3;i++){
$('#here_table').append( '<tr><td>' + 'result' + i + '</td></tr>' );
}
$('#here_table').append( '</table>' );
mas isso gera para mim:
<div id="here_table">
<table> </table> !!!!!!!!!!
<tr><td>result1</td></tr>
<tr><td>result2</td></tr>
<tr><td>result3</td></tr>
</div>
Por quê? como posso fazer isso corretamente?
AO VIVO: http://jsfiddle.net/n7cyE/
javascript
jquery
html
Mark Fondy
fonte
fonte
$('<table/>')
vez de$('<table></table>)
, e em$('<tr/>')
vez de$('<tr></tr>)
, etc.Você precisa anexar o
tr
dentro dotable
então eu atualizei seu seletor dentro do seu loop e removi o fechamentotable
porque não é necessário.O principal problema é que você estava anexando o
tr
àdiv
here_table.Editar: aqui está uma versão do JavaScript se o desempenho for uma preocupação. Usar fragmento de documento não causará refluxo para cada iteração do loop
fonte
Quando você usa
append
, jQuery espera que seja um HTML bem formado (contagens de texto simples).append
não é como fazer+=
.Você precisa fazer a tabela primeiro e depois anexá-la.
fonte
Ou faça desta forma para usar ALL jQuery. Cada um pode fazer um loop por quaisquer dados, sejam elementos DOM ou uma matriz / objeto.
http://jsfiddle.net/n7cyE/93/
fonte
Para adicionar várias colunas e linhas, também podemos fazer uma concatenação de string. Não é a melhor maneira, mas com certeza funciona.
Isso também permite adicionar linhas e colunas à tabela dinamicamente, sem codificar os nomes dos campos.
fonte
Aqui está o que você pode fazer: http://jsfiddle.net/n7cyE/4/
Cumprimentos!
fonte
O seguinte é feito para uploads de vários arquivos usando jquery:
Botão de entrada de arquivo:
Exibindo o nome e o tamanho do arquivo em uma tabela:
Javascript para obter o nome e o tamanho do arquivo:
fonte
Ou HTML estático sem o loop para criar alguns links (ou qualquer outra coisa). Coloque o
<div id="menu">
em qualquer página para reproduzir o HTML.fonte
Escrevi uma função bastante boa que pode gerar tabelas verticais e horizontais:
exemplo de uso:
resultado de exemplo:
fonte
Um exemplo de trabalho usando o método mencionado acima e usando JSON para representar os dados. Isso é usado no meu projeto de lidar com chamadas ajax que buscam dados do servidor.
http://jsfiddle.net/vinocui/22mX6/1/
Em seu html: <table id = 'here_table'> </ table>
Código JS:
fonte
Para mim, essa abordagem é mais bonita:
fonte
Eu prefiro a forma mais legível e extensível usando jquery.
Além disso, você pode criar conteúdo totalmente dinâmico na hora.
Desde a versão 1.4 do jquery, você pode passar atributos para elementos que são,
imho, um recurso matador. Além disso, o código pode ser mantido mais limpo.
Addon: passando mais de uma tag "html", você deve usar notação de array como: por exemplo
melhores Rgds.
Franz
fonte
e Jquery
fonte
isto é muito melhor
html
jQuery
fonte
É importante observar que você pode usar o Emmet para obter o mesmo resultado. Primeiro, verifique o que Emmet pode fazer por você em https://emmet.io/
Resumindo, com Emmet, você pode expandir uma string em uma marcação HTML completa, conforme mostrado nos exemplos abaixo:
Exemplo 1
... vai produzir
Exemplo # 2
... vai produzir
E a lista continua. Existem mais exemplos em https://docs.emmet.io/abbreviations/syntax/
E há uma biblioteca para fazer isso usando jQuery. Chama-se Emmet.js e está disponível em https://github.com/christiansandor/Emmet.js
fonte