새 div를 동적으로 만들고, 변경하고, 이동하고, JavaScript에서 가능한 모든 방법으로 수정하는 방법은 무엇입니까?


82

페이지가로드 될 때 새 div를 만들고 싶습니다. 이러한 div는 JSON 파일의 외부 데이터에 따라 변경되는 정렬 된 그룹으로 표시됩니다. 100 개 이상의 div가 필요하기 때문에 for 루프를 사용하여이 작업을 수행해야합니다.

따라서 높이, 너비, 상단 / 왼쪽 등과 관련하여 생성 된 각 div를 변경할 수 있어야합니다. 그러나 document.getElementById("created_div").style.whatever아무것도하지 않으며 단일 새 div가 나타나는 것도 볼 수 없습니다. 새 div 높이 / 너비를 500px, 배경을 "빨간색"등으로 설정했지만 새 div가 확실히 나타나지 않습니다.

내가 도대체 ​​뭘 잘못하고있는 겁니까?


2
div를 만드는 데 사용하는 코드 공유
wakooka

1
$ ( "# box0"). append ( '<div id = "created_div"> </ div>');
Erik Nelson

루프에서이 작업을 수행하는 경우 동일한 식별자로 100 개의 div를 만들려고한다는 의미입니까?
Evan Trimboli

브라우저 콘솔에서 ... 오류가 있습니까? ID가 반복되어서는 안된다 ... 비록 선택이 존재하고 오류의 thrown.Errors 먼저 중요한 체크하지 않는 경우가 삽입되는 정지 안
charlietfl

그것들을 만드는 것 외에도 DOM에 삽입합니까?
Gabriele Petrioli 2012

답변:


425

이것은 DOM 조작의 기초를 다룹니다. 새로 생성 된 노드가 문서 내에서 표시 되려면 본문 또는 본문 포함 노드에 요소를 추가해야합니다.


-1

JQuery 를 사용해 보셨습니까 ? 바닐라 자바 ​​스크립트는 어려울 수 있습니다. 이것을 사용해보십시오 :

$('.container-element').add('<div>Insert Div Content</div>');

.container-element"container-element"클래스 (아마도 div를 삽입하려는 부모 요소)로 요소를 표시하는 JQuery 선택기입니다. 그런 다음 add()함수는 HTML을 컨테이너 요소에 삽입합니다.


글쎄요. 패딩을 0보다 크게 설정해야했습니다. 높이와 너비가 각각 64로 설정되어 있지만. Bleh. 자식 div가 일반 div처럼 작동하는 방법이 있습니까? 목표는 각 div가 링크처럼 작동하도록하는 것입니다. 게임 웹 사이트에 대한 동적 목록 생성 시도; /
Erik Nelson

1
나는 이것에 동의하지 않는다. innerHTML (jquery가 사용하는 것)은 표준 이 아니며 표준을 따르지 않으면 가격이 잘못 될 수 있습니다. 또한 나에게는 노드 요소를 추가하는 것보다 계획 html 문자열을 DOM 트리에 추가하는 것이 의미가 없습니다.
StormByte

2
전체 DOM 트리가 평범한 오래된 HTML로 시작하고 innerHTML이 바로 그것이라는 점을 고려할 때, 요소가 포함하고있는 HTML은 둘 중 하나에 문제가 있다는 것은 DOM이 오염 되었기 때문에 사용해서는 안된다고 말하는 것과 같습니다. 평범한 오래된 HTML.
Rodney P. Barbati 2014 년
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.