소스 정리
parent
d1e36975b3
commit
a4fe729d93
@ -0,0 +1,38 @@
|
|||||||
|
/**************************************************************************
|
||||||
|
* HTML요소 어트리뷰트(프로퍼티,이벤트) 등록
|
||||||
|
**************************************************************************/
|
||||||
|
class ObjectInspector {
|
||||||
|
|
||||||
|
static help(){
|
||||||
|
console.log("regist(doctx명, 어트리뷰트정보) : HTML요소에 어트리뷰트(프로퍼티,이벤트) 등록");
|
||||||
|
}
|
||||||
|
|
||||||
|
static regist(doctx, data){
|
||||||
|
let objectInspector = {};
|
||||||
|
|
||||||
|
if(data == null){
|
||||||
|
objectInspector = JSON.parse(document.querySelector("[data-doctx='"+doctx+"']").querySelector("script.objectInspector").text);
|
||||||
|
} else if(data instanceof HTMLScriptElement){
|
||||||
|
objectInspector = JSON.parse(data.text);
|
||||||
|
} else if(typeof data == "string"){
|
||||||
|
let curlyBracketsOpen = String.fromCharCode(123); //중괄호시작
|
||||||
|
if(!data.trim().startsWith(curlyBracketsOpen)){
|
||||||
|
objectInspector = JSON.parse(document.querySelector("script[id='"+data+"'").text);
|
||||||
|
} else {
|
||||||
|
objectInspector = JSON.parse(data);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
objectInspector = data;
|
||||||
|
}
|
||||||
|
|
||||||
|
let keys = Object.keys(objectInspector);
|
||||||
|
for(let key of keys){
|
||||||
|
let elem = document.querySelector("[data-doctx='"+doctx+"'] [name='"+key+"']");
|
||||||
|
let attrs = objectInspector[key];
|
||||||
|
let attrNames = Object.keys(attrs);
|
||||||
|
for(let attrName of attrNames){
|
||||||
|
elem.setAttribute(attrName,attrs[attrName]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue