Javascript:如何dynamic创build新的div,改变它,移动它,以各种方式修改它?
我一直在挣扎几个小时,我疯了。 我想在页面加载时创build新的div。 这些div将显示为一个有序的组,它根据来自JSON文件的外部数据而变化。 我将需要做一个for循环,因为有超过100个div需要。
所以,我需要能够改变每个创build的高度,宽度,顶部/左侧等。 然而, document.getElementById("created_div").style.whatever
什么都不做,我什至不能看到一个新的div出现。 我已经设置新的divs的高度/宽度为500px,背景为“红色”等,但没有新的div肯定出现。 我究竟做错了什么? 为什么这么难? 啧。 帮帮我!
- Creation
var div = document.createElement('div');
- 另外
document.body.appendChild(div);
- 样式操作
- 定位
div.style.left = '32px';
div.style.top = '-16px';
- 类
div.className = 'ui-modal';
- 定位
- 修改
- ID
div.id = 'test';
- 内容(使用HTML)
div.innerHTML = '<span class="msg">Hello world.</span>';
- 内容(使用文字)
div.textContent = 'Hello world.';
- ID
- 去除
div.parentNode.removeChild(div);
- 访问
- 由ID
div = document.getElementById('test');
- 通过标签
array = document.getElementsByTagName('div');
- 通过类
array = document.getElementsByClassName('ui-modal');
- 通过CSS selector(single)
div = document.querySelector('div #test .ui-modal');
- 通过CSS selector(多)
array = document.querySelectorAll('div');
- 由ID
- 关系(包含文本节点)
- children
node = div.childNodes[i];
- 兄弟
node = div.nextSibling;
- children
- 关系(仅限HTML元素)
- children
element = div.children[i];
- 兄弟
element = div.nextElementSibling;
- children
这涵盖了DOM操作的基础知识。 请记住,要在文档中使新创build的节点可见,则需要向主体或包含主体的节点添加元素。
你有没有试过JQuery ? 香草JavaScript可以是艰难的。 尝试使用这个:
$('.container-element').add('<div>Insert Div Content</div>');
.container-element
是一个JQueryselect器,用class“container-element”(大概是你要插入div的父元素)标记该元素。 然后add()
函数将HTML插入到容器元素中。