ÃֽŠ°Ô½Ã±Û(WEB)
2020.01.28 / 24:45

jQuery¸¦ ÆÄÇìÃĺ¸ÀÚ!.

±îÄ¡¼³³¯
Ãßõ ¼ö 263

jQuery¸¦ ÆÄÇìÃĺ¸ÀÚ!.



/*

 ¶óÀ̺귯¸® ÇØü
 ÀÚ¹Ù½ºÅ©¸³Æ®ÀÇ ÀÛ°í(?) °¡º­¿î(?) ¶óÀ̺귯¸® = JQUERY ¶óÀ̺귯¸®
 ¼±ÅÃÀÚ, ÇÔ¼ö, ajax





  1) ¼±ÅÃÀÚ
    id = "#"
    class = "."




  ÀÚ¹Ù½ºÅ©¸³Æ®¿Í JQUERY ÀÇ  SELECTOR(¼±ÅÃÀÚ)

  <input type='text' id='test1' class='test2'>

  JAVASCRIPT : document.getElementById("test1");
  JQUERY : $("#test1");

  JAVASCRIPT : document.getElementsByClassName("test2");
  JQUERY : $(".test2");


 */







/*
ÀÌ·¸°Ô ±ä ¼Ò½º¸¦ JQUERY¿Í °°ÀÌ °£´ÜÈ÷ ¾²·Á¸é ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä?


1) ÇÔ¼ö·Î È£Ãâ
function abrand1(value){
return document.getElementById(value);
}
function abrand2(value){
return document.getElementsByClassName(value);
}


abrand1("test1");  -->  document.getElementById("test1");
abrand2("test2");  -->  document.getElementsByClassName("test2");
*/













   /*
2) Çϳª·Î ÇÕÄ¡°í $·Î ¹Ù²Ù±â
function abrand(value){
var extElement;
if (value.charAt(0) == "#") {
extElement = document.getElementById(value.substr(1));
} else if (value.charAt(0) == ".") {
extElement = document.getElementsByClassName(value.substr(1));
}
return extElement;
}
var JH = abrand;

JH("#test1");  -->  document.getElementById("test1");
JH(".test2");  -->  document.getElementsByClassName("test2");





½ÇÁ¦ JQUERY SELECTOR ºÎºÐ: s1111


*/










/*


  2) ±âº»ÇÔ¼öÃß°¡



  ÀÚ¹Ù½ºÅ©¸³Æ®¿Í JQUERY ÀÇ  ±âº»ÇÔ¼ö


 innerHTML
 JAVASCRIPT : document.getElementsByClassName("test2").innerHTML = VALUE;
 JQUERY : $(".test2").html("VALUE");



 value
  JAVASCRIPT SET: document.getElementById("test1").value='VALUE';
  JAVASCRIPT GET: document.getElementById("test1").value;
  JQUERY : $("#test1").val('VALUE');
  JQUERY : $("#test1").val();


 */






















/*
   function abrand(value){
var extElement;
if (value.charAt(0) == "#") {
extElement = document.getElementById(value.substr(1));
} else if (value.charAt(0) == ".") {
extElement = document.getElementsByClassName(value.substr(1));
}



//¿©±â¼­ºÎÅÍ
extElement.html = function(value) {
this.innerHTML = value;
return this;
};

extElement.val = function(value) {
if (arguments.length > 0) {
this.value = value;
return this;
} else if (arguments.length == 0) {
return this.value;
}
};
//¿©±â±îÁö Ãß°¡


return extElement;
}
var $ = abrand;

$("#test1").html('VALUE');  -->  document.getElementById("test1").innerHTML = 'VALUE';
$(".test2").val('VALUE');  -->  document.getElementsByClassName("test2").value = 'VALUE';
$(".test2").val();  -->  document.getElementsByClassName("test2").value;





½ÇÁ¦ JQUERY ÇÔ¼ö ºÎºÐ: s2222
*/




































//var abrand = new Object();
function abrand(value) {
var extElement;

if (value instanceof Element) {
extElement = value;
} else if (value.charAt(0) == "#") { // #ű׾ÆÀ̵ð
extElement = document.getElementById(value.substr(1));
} else if (value.charAt(0) == ".") { // .ű×Ŭ·¡½º
extElement = document.getElementsByClassName(value.substr(1));
} else if (value.charAt(0) == "<"){ // <ű׸í>
var tag = value.substr(1, (value.length - 2));
extElement = document.createElement(tag);
} else {
extElement = document.querySelectorAll(value);
}

extElement.load = function(url) {
abrand.ajax(url, {
type: "GET",
dataType: "html",
success: function(result) {
extElement.innerHTML = result;
var elements = extElement.getElementsByTagName("script");
for (var i = 0; i < elements.length; i++) {
eval(elements[i].textContent);
}
}
});
};

extElement.html = function(value) {
this.innerHTML = value;
return this;
};

extElement.append = function(childElement) {
this.appendChild(childElement);
return this;
};

extElement.appendTo = function(parentElement) {
parentElement.appendChild(this);
return this;
};

extElement.attr = function(attrName, value) {
if (arguments.length > 1) {
this.setAttribute(attrName, value);
return this;
} else if (arguments.length == 1) {
return this.getAttribute(attrName);
}
};


extElement.css = function(styleName, value) {
if ("length" in extElement) {
// ¿¤¸®¸ÕÆ®°¡ ¿©·¯ °³ÀÎ °æ¿ì,
if (arguments.length > 1) {
// ¸ðµç ¿¤¸®¸ÕÆ®¿¡ ´ëÇØ °ªÀ» ÇÒ ´çÇÑ´Ù.
for(var i = 0; i < extElement.length; i++) {
this[i].style[styleName] = value;
}
return this;
} else if (arguments.length == 1) {
// ¸¸¾à ƯÁ¤ ½ºÅ¸ÀÏÀÇ °ªÀ» ²¨³»·Á ÇÒ ¶§ 0¹ø°ÀÎ °ª¸¸ ²¨³»¼­ ¸®ÅÏÇÑ´Ù.
return this[0].style[styleName];
}
} else {
if (arguments.length > 1) {
this.style[styleName] = value;
return this;
} else if (arguments.length == 1) {
return this.style[styleName];
}
}
};

extElement.remove = function() {
if ("length" in extElement) {
for(var i = 0; i < extElement.length; i++) {
this[i].parentNode.removeChild(this[i]);
}
} else {
this.parentNode.removeChild(this);
}

return this;
};

extElement.val = function(value) {
if (arguments.length > 0) {
this.value = value;
return this;
} else if (arguments.length == 0) {
return this.value;
}
};

extElement.click = function(listener) {
this.addEventListener("click", listener);
return this;
};

return extElement;
}







abrand.load = function(selector, url) {
abrand.ajax(url, {
type: "GET",
dataType: "html",
success: function(result) {
var element = abrand(selector);
element.innerHTML = result;
}
});
};




abrand.createRequest = function() {
    try {
        return new XMLHttpRequest();
    } catch (exception) {
        var versions = [
            'Msxml2.XMLHTTP.6.0',
            'Msxml2.XMLHTTP.5.0',
            'Msxml2.XMLHTTP.4.0',
            'Msxml2.XMLHTTP.3.0',
            'Msxml2.XMLHTTP',
            'Microsoft.XMLHttp'
        ];
        for (var i = 0; i < versions.length; i++) {
            try {
                return new ActiveXObject(versions[i]);
            } catch (e) { }
        }
    }
};








abrand.ajax = function(url, settings) {
var xhr = abrand.createRequest();
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
var dataType = "json";
if (settings.dataType) {
dataType = settings.dataType;
}

var result = null;
if (dataType == "json") {
result = JSON.parse(xhr.responseText);
} else if (dataType == "html") {
result = xhr.responseText;
}

if (settings.success) {
settings.success(result);
}
} else {
if (settings.error) {
settings.error("¼­¹ö ¿äû ¿À·ù!");
}
}
}
};


var type = "GET";
if (settings.type) {
type = settings.type;
}

xhr.open(type, url, true);

if (type == "GET") {
xhr.send();
} else {
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var params = null;
if (settings.data) {
params = "";
for(var name in settings.data) {
if (params != "") {
params += "&";
}
params += name + "=" + encodeURIComponent(settings.data[name]);
}
}
xhr.send(params);
}
};



var $ = abrand;
//s3333
//Áú¹®1:¿Ö ajax´Â UTF-8¸¸À» Áö¿øÇϴ°¡?
//http://benant.wordpress.com/2011/12/10/








//°á·Ð



/*
 1. Á¦ÀÌÄõ¸®´Â ¶óÀ̺귯¸® Àΰ¡? ÇÁ·¹ÀÓ¿öÅ©Àΰ¡?
http://ohgyun.com/288
¾ÆÁ÷±îÁö jQuery´Â javascriptÀÇ ¶óÀ̺귯¸® ÀÏ»Ó. ±× ÀÌ»óµµ ÀÌÇϵµ ¾Æ´Ï´Ù. -¸¶Æ¾ÆÄ¿ï·¯
*/

/*
 2. Á¦ÀÌÄõ¸® »ç¿ëÀ» ÃÖ¼ÒÈ­ ÇÏÀÚ.
JQUERY´Â ÀϹÝÀûÀ¸·Î 250KB (MIN ÆÄÀÏÀº 55KB)-»çÁø
ÀÛ°í(X), °¡º­¿î(X) ¶óÀ̺귯¸® = JQUERY

 */