Javascript - Como Criar uma div dentro de outra div com um botão dentro?

9 respostas Resolvido
javascript
Cleiton_Conceicao

preciso criar uma div dentro de outra div com um botão dentro…
alguém pode me ajudar?

9 Respostas

darlan_machado

Javascript puro? jQuery? Algum framework?

Cleiton_Conceicao

javascript puro!
estou tentando fazer assim não não dá certo. :confused:

function teste(){
	var box = document.getElementsByClassName("HTMLTabContainer");
	document.getElementsByClassName(box).innerHTML = "<div><button>teste</button></div>"


};
darlan_machado

Quando você faz isso:

Vocẽ está criando um vetor de elementos, mesmo que seja apenas um, é um vetor de 1 posição.
Aí, você faz isso

Ou seja, tenta inserir algo num vetor, sério mesmo?
Decida-se ou você faz

box[0].innerHTML = "<div><button>teste</button></div>";

Ou

document.getElementsByClassName("HTMLTabContainer")[0].innerHTML  =  "<div><button>teste</button></div>";
Cleiton_Conceicao

sou muito noob em javascript. o que eu preciso é inserir essa div e o botão dentro dessa div
o objetivo é deiar um do lado do outro… eu executei o código acima ele acabou sobrescrevendo o que estava sendo exibido antes.
/

darlan_machado

Estude

Sim, innerHTML captura/substitui tudo o que você tem de html dentro de uma div.

Cleiton_Conceicao

como eu faria para criar sem sobrescrever ?
tentei isso mas nada:/

document.getElementsByClassName("HTMLTabContainer")[0].createElement="<div><button>teste</button></div>"
Cleiton_Conceicao

estou fazendo dessa forma, porém quando tento obter a class da div que foi criado ele não encontra.

var div = document.createElement("div");
div.setAttribute('class', 'divBtn');
document.getElementsByClassName('HTMLTabContainer').appendChild=div;

var botao = document.createElement("button");
 
botao.setAttribute('id', 'teste');
document.getElementsByClassName('divBtn').appendChild(botao);
Cleiton_Conceicao
Solucao aceita

conseguir resolver!!

var $contro = document.querySelector('.HTMLTabController'),
    // Pega a string do conteúdo atual
    HTMLTemporario = $contro.innerHTML,
    // Novo HTML que será inserido
    HTMLNovo = '<button>testealex </button>';

// Concatena as strings colocando o novoHTML antes do HTMLTemporario
HTMLTemporario = HTMLNovo + HTMLTemporario;

// Coloca a nova string(que é o HTML) no DOM
$contro.innerHTML = HTMLTemporario;
darlan_machado

Esse é um caminho.

Criado 31 de maio de 2019
Ultima resposta 31 de mai. de 2019
Respostas 9
Participantes 2