<div id="a" style="background:#DAE0F1;">
<p id="b">bbbbbbbbbbbbbbbbb</p>
</div>
<script type="text/javascript">
function createE (tagName,id,className,style,innerHTML,addway,parentId,reforeId) {
var newElement=document.createElement(tagName);
newElement.id=id;
newElement.className=className;
newElement.style.cssText=style;
newElement.innerHTML=innerHTML;
if (addway=='end') {
if (parentId=='body') {
document.body.appendChild(newElement);
}else{
document.getElementById(parentId).appendChild(newElement);
}
}
if(addway=='before'){
if (parentId=='body') {
document.body.insertBefore(newElement,document.getElementById(reforeId));
}else{
document.getElementById(parentId).insertBefore(newElement,document.getElementById(reforeId));
}
}
}
createE('div','aa','link','font-size: 30px;','追加在a的末尾','end','a','');
createE('h1','','','font-size: 30px;','插入在a中的b之前','before','a','b');
createE('h1','c','','font-size: 30px;','追加在body末尾','end','body','');
createE('h1','d','','font-size: 30px;','插入在body中的a之前','before','body','a');
</script>
输出如下:
今天写了个使用js创建页面元素的函数,如果有多个元素需要使用js来创建的话,倒还是可以方便一些的。函数参数如下:
元素的标签名,元素的id,元素的class名,元素的内部样式,元素的内部代码,追加方式(填写“end”或者“before”),追加到的父元素的id,父元素中子元素的id(仅当追加方式为before时填写)。
如果追加方式为end,则使用appendChild()方法追加到父元素内;如果追加方式为before,则使用insertBefore()方法插入到父元素内某个子元素之前。
考虑到body是创建元素时常用的一个节点,如果把父元素的id填写为“body”则会按body来处理。
使用js创建页面元素的函数