mirror of
https://github.com/jiojciojsioe3/a3cjroijsiojiorj.git
synced 2024-11-15 15:31:51 +08:00
50 lines
1.2 KiB
JavaScript
50 lines
1.2 KiB
JavaScript
function element(){
|
|
var parent
|
|
var lasttag
|
|
var createdtag
|
|
var toreturn={}
|
|
for(var i=0;i<arguments.length;i++){
|
|
var current=arguments[i]
|
|
if(current){
|
|
if(current.nodeType){
|
|
parent=lasttag=current
|
|
}else if(Array.isArray(current)){
|
|
lasttag=parent
|
|
for(var j=0;j<current.length;j++){
|
|
if(current[j]){
|
|
if(j==0&&typeof current[j]=="string"){
|
|
var tagname=current[0].split("#")
|
|
lasttag=createdtag=document.createElement(tagname[0])
|
|
if(tagname[1]){
|
|
toreturn[tagname[1]]=createdtag
|
|
}
|
|
}else if(current[j].constructor==Object){
|
|
if(lasttag){
|
|
for(var value in current[j]){
|
|
if(value!="style"&&value in lasttag){
|
|
lasttag[value]=current[j][value]
|
|
}else{
|
|
lasttag.setAttribute(value,current[j][value])
|
|
}
|
|
}
|
|
}
|
|
}else{
|
|
var returned=element(lasttag,current[j])
|
|
for(var k in returned){
|
|
toreturn[k]=returned[k]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}else if(current){
|
|
createdtag=document.createTextNode(current)
|
|
}
|
|
if(parent&&createdtag){
|
|
parent.appendChild(createdtag)
|
|
}
|
|
createdtag=0
|
|
}
|
|
}
|
|
return toreturn
|
|
}
|