[ jquery ] jquery 간단 정리 > javascript&jQuery

본문 바로가기
사이트 내 전체검색

javascript&jQuery

[ jquery ] jquery 간단 정리

페이지 정보

작성자 웹지기 댓글 0건 조회 3,545회 작성일 18-09-27 16:41

본문

기본 셀렉터

[code]

$("*") : 모두

$("div p") : 모든 <div>에 포함된 모든 <p>

$("#loginID") : id="loginID"

$(".Columns") : class="Columns"

$("p > a") : <p>에 포함된 한 단계 아래 레벨의 모든 <a>

$("div + p") : <div> 와 같은 레벨인 다음 <p>

$("div ~ p") : <div> 와 같은 레벨인 모든 <p>


// 개체 숨김

$(selector).hide();

[/code]


필터

[code]

$("a[title]") : title 속성이 있는 <a>

$("a[href^=mailto:]") : href 속성이 mailto로 시작하는 모든 <a> (^는 문장의 처음을 나타내는 정규표현식)

$("a[href$=.pdf]") : href 속성이 pdf파일 링크인 모든 <a> ($는 문장의 끝을 나타내는 정규표현식)

$("a[href*=taeyo.net]") : href 속성에 taeyo.net이라는 값이 포함되어 있는 모든 <a>

$("input[type=text]") : type 속성이 "text"인 모든 <input>


$("tr:first"): 모든 <tr> 중 첫 번째 <tr>

$("tr:last"): 모든 <tr> 중 마지막 <tr>

$("tr:not('selector')"): 모든 <tr> 하위 개체 중 selector에 해당되지 않는 개체

$("tr:even"): 모든 <tr> 중 짝수 번째(0부터 시작)

$("tr:odd"): 모든 <tr> 중 홀수 번째(0부터 시작)

$("tr:eq(0)"): 모든 <tr> 중 1 번째

$("tr:gt(1)"): 모든 <tr> 중 2 번째 이후

$("tr:lt(2)"): 모든 <tr> 중 3 번째 이전


$(":header"): 모든 헤더 (<h1>, <h2>, <h3> 등)

$(":animated"): 애니메이션이 포함된 모든 개체

$(":contains('text')"): text를 포함하는 모든 개체

$(":empty"): 하위 개체를 가지지 않는 모든 개체 (내부 텍스트를 가지지 않는 개체도 해당)

$(":has('selector')"): selector에 해당하는 모든 개체

$(":parent"): 모든 상위 개체 (내부 택스트를 갖는 개체도 해당)


$("td:nth-child(1/even/odd)"): 모든 1(최소 값은 1) 번째 <td> / 짝수 번째 <td> / 홀수 번째 <td> (테이블에서 세로 줄)

$("td:nth-child(2n+1)"): 모든 첫 번째 <td>(+1) 부터 2의 배수 번째 <td> (테이블에서 매 두 번째 세로 줄)

$("td:first-child"): 모든 첫 번째 <td> (테이블에서 첫 번째 세로 줄, nth-child(1)로 대체)

$("td:last-child"): 모든 마지막 <td> (테이블에서 마지막 세로 줄)

$("td:only-child"): 모든 최하위 <td>


// 선택된 개체에 스타일 시트 적용

$(selector).css("background", "yellow");


// 상위 개체

$(selector).parent()

[/code]



폼 필터 및 조작 기능

[code]

$(":input"): 모든 <input>, <textarea>, <select>, <button>

$(":text"): type="text"인 모든 <input>

$(":password"): type="password"인 모든 <input>

$(":radio"): type="radio"인 모든 <input>

$(":checkbox"): type="checkbox"인 모든 <input>

$(":submit"): type="submit"인 모든 <input>

$(":image"): type="image"인 모든 <input>

$(":reset"): type="reset"인 모든 <input>

$(":button"): type="button"인 모든 <input>

$(":file"): type="file"인 모든 <input>

$(":hidden"): type="hidden"인 모든 <input>


$(":enabled"): enable 상태인 모든 개체

$(":disabled"): disable 상태인 모든 개체

$(":checked"): 체크된 모든 개체

$(":selected"): 선택된 모든 개체


// 페이지 로드시에 할 일

$(document).ready(function(){

});


// 클릭 이벤트, 마우스 오버 이벤트를 설정, color 스타일 값 red로 변경

$("#id").click(someFunction).mouseover(otherFunction).css("color", "red");


// 선택된 개체들에 대해 실행할 함수 지정

$(selector).each(function(i) {

// i: 선택된 개체들의 인덱스

// $(this): 선택된 개체

});

[/code]



조작 기능

[code]

// 개체의 태그(선택된 개체가 여러 개일 경우 첫 번째 것)

$(selector).html()


// 개체의 태그를 val로 대체

$(selector).html("val")


// 개체의 텍스트

$(selector).text()(선택된 모든 개체의 텍스트를 결합)


// 개체의 텍스트를 val로 대체

$(selector).text("val")


// 개체의 내부에 content를 끝에 추가

$(selector).append("content")


// 개체의 내부에 content를 앞에 추가

$(selector).prepend("content")


// id를 모든 <a> 내부의 끝에 추가

$("#id").appendTo("a")


// id를 모든 <a> 내부의 앞에 추가

$("#id").prependTo("a")


// 개체의 다음에 content 추가

$(selector).after("content")


// 개체의 이전에 content 추가

$(selector).before("content")


// id를 모든 <a> 다음에 추가

$("#id").insertAfter("a")


// id를 모든 <a> 이전에 추가

$("#id").insertBefore("a")


// 선택된 개체의 하위 개체들을 제거

$(selector).empty()


// 선택된 개체들을 제거 

$(selector).remove()


// 선택된 개체들 복사 및 선택

$("#id").clone()


// 선택된 개체들 복사 및 선택(이벤트 처리 포함. onclick, mouseiver...)

$("#id").clone(true)

[/code]


탐색 기능

[code]

// 모든 <div> 중 1 번째

$("div").eq(0)


// 선택된 개체 집합을 이전 상태로 변경(end())

$("div:odd").eq(0).css("background", "orange")

            .end() // $("div:odd")와 동일

            .eq(1).css("background", "blue"); // $("div:odd").eq(1).css("background", "blue");


// 선택된 개체를 메모리에서 :odd 재검색(filter())

$("div").filter(":odd").end() // $("div")와 동일


// 선택된 개체를 메모리에서 하위 노드의 <p> 재검색(find())

$("div").find("p")


// 선택된 개체를 메모리에서 :even 아닌 것을 재검색(not())

$("div").not(":even").end() // $("div")와 동일


// 개체 확인(is())

var $myDiv = $("div").eq(5); // 변수명 앞에 '$'는 jQuery 개체 참조형

if ( $myDiv.is("div") ) { // 개체 확인

$myDiv.css("border", "4px solid yellow");

}

$myDiv.is(".orange, .blue, .lightblue") // 세 클래스 이름 중 하나만 일치해도 true


// 선택된 개체들의 텍스트를 배열로 변환(map())

var arr = $("div").map(function()

{

   return $(this).text().toUpperCase();

});


// 다음 개체

$(selector).next(expr)


// 다음 모든 개체

$(selector).nextAll(expr)


// 이전 개체

$(selector).prev(expr)


// 이전 모든 개체

$(selector).prevAll(expr)


// 선택된 개체에 추가

$(selector).add(expr)


// 상위 개체 선택

$(selector).parent(expr)


// 고유한 상위 개체들 선택

$(selector).parents(expr)


// 같은 레벨인 개체들 선택

siblings(expr)

[/code]



css와 attr 기능

[code]

// 스타일 시트 적용

$(this).css({ 'color':'yellow','font-weight':'bolder' }); 


// 모든 <div>를 blue 클래스로 지정

$("div").addClass("blue")


// 선택된 <div> 중 blue 클래스가 존재하면 true

$("div").hasClass("blue")


// 선택된 <div>에서 blue 클래스 제거

$("div").removeClass("blue")


// 선택된 <div>에서 blue 클래스 적용 여부를 반전

$("div").toggleClass("blue")


// 첫 <img>의 src 값

$("img").attr("src")


// 모든 <img>에 스타일을 적용

$("img").attr({ css: { border: "1px", height : "100" } })


// 모든 <img>의 title에 hello 적용

$("img").attr("title", "hello")


// 모든 <img>의 title에 function()의 리턴 값 적용

$("img").attr("title", function())


// 모든 <img>에서 title 속성 제거

$("img").removeAttr("title")

[/code]



이벤트

[code]

// id="MyBtn"에 click 이벤트 추가

$("#MyBtn").bind("click", function(e) {

    // MyBtn 클릭시 수행

    // 사용 가능한 이벤트: blur, focus, load, resize, scroll, unload, beforeunload,

    click, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter,

    mouseleave, change, select, submit, keydown, keypress, keyup, error 

});

$("#MyBtn").bind("click", { name: "Taeyo", gender: "남" }, function(e) {

    alert(e.data.name + " / " + e.data.gender); // 두 번째 매개변수 활용

});


// id="MyBtn"에 click 이벤트 제거

$("#MyBtn").unbind("click");


// id="MyBtn"에 일회성 click 이벤트 추가

$("#MyBtn").one("click", function(e) {

    alert("누가 내 버튼을 클릭한 것이냐?");");

});


// id="MyBtn"에 click 이벤트 작동

$("#MyBtn").trigger("click");

[/code]


기타

[code]

// 값 얻어오기

$("#id").val();


$('form#login'): id="login"인 <form>

$('label.optional'): class="optional"인 <label>

[/code]


AJAX

[code]

// 기본

$.ajax({

    url: 'scripts/login.php',

    type: 'POST',

    data: 'account='+$('#account').attr('value')+'&password='+$('#password').attr('value'),

    error: function(){

        alert('Error loading XML document');

    },

    success: function(xml){

        $(xml).find('item').each(function(){

        var item_text = $(this).text();

        $('<li></li>').html(item_text).appendTo('ol');

    });

}

});


// 페이지로 데이터 보내기

$.post('save.cgi',{ text: 'my string', number: 23 },function(){

    alert('Your data has been saved.');

    }

);

[/code]


버전 1.4 추가 사항

[code]

// 개체 생성

$("<div>", 

{

   id: "foo",

   css: {

      height: "50px",

      width: "50px",

      color: "blue",

      backgroundColor: "#eeeeee"

   },

   click: function() {

      $(this).css("backgroundColor", "red");

   }

}).appendTo("body");


// eq(-n)과 get(-n)

$("div").eq(-2); // 뒤에서 두 번째 개체

$("div").get(-2); // 뒤에세 두 번째 개체의 값


// first(), last()

first(): eq(0)과 같다

last(): eq(-1)과 같다


// toArray()

var arr = $('li').toArray(); // 모든 <li>를 arr에 배열로 저장


// attr()에서 현재 값을 매개변수로 참조 가능

$("#photo").attr("alt", function(index, value)

{

      return "사랑하는 " + value; // value는 현재 값

});


// 함수로 값을 할당할 수 있는 함수들

.css(), .attr(), .val(), .html(), .text(), .append(), .prepend(), .before(), .after(),

.replaceWith(), .wrap(), .wrapInner(), .offset(), .addClass(), .removeClass(), .toggleClass()


// 매개변수로 현재 값을 참조할 수 있는 함수들

.css(), .attr(), .val(), .html(), .text(), .append(), .prepend(), .offset(),

.addClass(), .removeClass(), .toggleClass()


// 지정된 css를 클래스를 모두 적용

$("input").toggleClass("normal selected");


// .data()에 키가 없으면 값을 반환하도록 개선

$('body').data('foo', 52); // boby에 foo=52

$('body').data('bar', { myType: 'test', count: 40 }); // boby에 bar={ myType: 'test', count: 40 }

alert($('body').data('foo')); // 52를 경고창에 출력

alert($('body').data()); // { foo: 52, bar: { myType: 'test', count: 40 } 경고창에 출력


// has 필터와 동일

.has(value)

.has(selector)


// .nextUntil(), .prevUntil(), .parentsUntil() 추가

$("#div1").nextUntil("div").css("background-color", "red"); // 다음 div까지 선택


// .add(), .closest() 함수가 컨텍스트를 가질 수 있도록 개선

Ajax에서 개체를 받아온 경우 동적으로 그 개체에게 add()를 사용하여 추가 가능


// .detach() 이벤트 핸들러를 남겨두고 개체를 제거

$(document).ready(function() {

var $p = $("p").click(function() {

    $(this).css("background-color", "yellow");

});

$("p").detach(); // DOM에서 <p> 제거

$p.css("color", "red"); // 폰트 색깔 변경

$p.appendTo("body"); // 개체를 <body>에 붙임

}); // <p>를 클릭하면 배경이 노란색으로 바뀜


// 이벤트 다중 설정

$("#box").bind({

    click: function(){

        $(this).text("click");

    },

    mouseenter: function(){

        $(this).text("mouseenter");

    },

    mouseleave: function(){

        $(this).text("mouseleave");

    }

});


// focusin, focusout 이벤트 추가(focus, blur와 동일하나 버블링을 지원. live() 사용 가능.)


// .delay() 함수 시행 지연

$('#foo').slideUp(1000).delay(500).fadeIn(1000);


// .clearQueue() 큐에 존재하지만 아직 실행되지 않은 모든 함수들을 제거


// 빈 개체인지 확인

jQuery.isEmptyObject({}) // true

jQuery.isEmptyObject({ foo: "bar" }) // false


// 개체가 {}로 구성되어 있는지 확인

jQuery.isPlainObject({}) // true

jQuery.isPlainObject(new MyClass()) // false

jQuery.isPlainObject(new Date()) // false


// 첫 번째 매개변수로 지정된 DOM 개체 안에 두 번째 매개변수인 DOM 개체가 포함되어 있는지 확인

jQuery.contains($("p")[0], document.body); // false

jQuery.contains(document.body, $("p")[0]); // true 



//jQuery JSON 사용


// Create test user Object

var user = new Object();

user.name = "gildong";

user.age = 18;


// Object to JSON

var userJSON = $.toJSON(user);

alert("userJSON = " + userJSON); // { name : "gildong", age : 18 }


// JSON to Object

var userObj = $.evalJSON(userJSON);

alert("userObj.name = " + userObj.name); // gildong

alert("userObj.age = " + userObj.age); // 18



// 양쪽 공백제거

var str ="       asdf           ";

$.trim(str);


// div 블럭요소를 부드럽게 display함

$("#testDiv").fadeIn('slow'); 


// div 블럭요소를 display함

$("#testDiv").show();


// div 블럭요소를 none시킴

$("#testDiv").hide();


// radio버튼 중 선택된 요소의 값을 리턴

var san = $('input:radio[name:san]:checked').val();


// select박스에서 선택되어 있는 index의 text노드값을 리턴

$('#sido_cd_mini option:selected').text();


// select박스에서 선택되어 있는 index의 value값을 리턴

$('#sido_cd_mini option:selected').val();

 

// 자식창에서 부모창으로 값전송

     부모창id                                 자식창ID의 속성값 

$('#usserip',opener.document).val($('#ip').val());


// 요소의 display 속성을 none일 경우 block으로 blick일 경우 none으로변경

$("#testDiv").toggle();

[/code]


// 쿠키

https://github.com/carhartl/jquery-cookie // jQuery 쿠키 js 다운로드 및 참조


js 파일(jquery.cookie.js) 임포트 한 후


<쿠키생성>


1. 세션 쿠키(Session Cookie)


세션 쿠키는 브라우저 열려있는 동안만 유지된다


[code]

$.cookie('key' , 'value');

[/code]



2. 만료일 지정한 쿠키

[code]

$.cookie('key' , 'value', { expires : 값 });

[/code]

값의 단위는 일(日)단위 이다


주의할 점은 위 생성방식 모두 디폴트로 쿠키가 만들어진 페이지 경로에만 쿠키가 적용된다


모든 페이지에 쿠키를 적용하려면 아래와 같이 path : '/' 를 설정 해야 한다

[code]

$.cookie('key' , 'value', { expires : 값, path : '/' });

$.cookie('key' , 'value', { path : '/' });

[/code]

<쿠키 읽기>

[code]

$.cookie('key');

[/code]

위처럼 하면 저장된 값을 반환한다. 해당 key가 없다면 null 반환


<쿠키삭제>

[code]

$.cookie('key', null);

[/p]

path 옵션을 주어 쿠키를 만들었다면 삭제할때 역시 같은 path 옵션을 줌 (이것 떄문에 삽질 대박함)


<쿠키 생성시 옵션 항목>


expires : 365


쿠키 만료를 일단위로 설정한다 생략하면 세션 쿠키로 만들어진다


path : '/'


쿠키가 적용되는 페이지 경로. 사이트 전체 페이지에 적용하려면 위와같이 설정

domain : 'domain.com'


쿠키가 적용될 도메인 디폴트가 쿠키가 만들어진 도메인이다


secure : true


디폴트는 false 다. true로 설정하면 쿠키전송은 https 프로토콜로만 가능


raw : true


디폴트는 false이다 false 일 경우는 쿠키는 생성되거나 읽을 떄 기본적으로 인코딩/디코딩을 한다(encodeURIComponent / decodeURIComponent 이용)

[이 게시물은 웹지기님에 의해 2018-09-28 11:11:32 PHP에서 이동 됨]
추천0 비추천0

댓글목록

등록된 댓글이 없습니다.

Total 63건 3 페이지
  • 33 [ jquery ] 체크박스 제어
  • 체크여부 확인 - id가 동일한 체크박스에 대하여 선택되어 있는지 확인 : true / false 반환 $("#chkBox").is(":checked") ; $("input:checkbox[id='chkBox']").is(":checked") ; * 1.6이상일때 권장 사용법 $("#chkBox").prop("checked") ;체크박스 갯수 가져오기 - 선택된 체크박스 갯수 구하기 $(&#...
  • 웹지기 09-05 3092 0 0 댓글 0
  • 32 [ jquery ] 체크박스 체크확인
  • checked 여부 확인ID일 경우 ==&gt; $("input:checkbox[id='ID']").is(":checked") == true : falseNAME일 경우 ==&gt; $("input:checkbox[name='NAME']").is(":checked") == true : falsechecked/unchecked 처리ID일 경우 ==&gt; $("input:checkbox[id=...
  • 웹지기 09-05 3016 0 0 댓글 0
  • 31 [ jquery ] 등록, 수정, 삭제, 등등의 예제
  • [code]====================================================================================- function 명insXXX - 등록(예)insBoard()updXXX - 수정(예)updBoard()delXXX - 삭제(예)delBoard()getXXX - 모든 화면 이동(예)getBoardList(), getBoardView()saveXXX - 확인(예)saveBoard()chkXXX - 체크 chkBoard()rese...
  • 웹지기 09-27 1 0 0 댓글 0
  • 30 [ javascript ] 정규표현식, Regular Expressions(regex, regexp) in …
  • 관련 문서http://www.regexr.com/https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExphttp://blog.outsider.ne.kr/360http://regexlib.com/DisplayPatterns.aspxhttp://blog.eairship.kr/197http://tryhelloworld.co.kr/courses/정규표현식정규 표현식이란 문자열에서 특정한 캐릭터 조합을 찾아...
  • 웹지기 09-27 3563 0 0 댓글 0
  • 29 [ javascript ] 특수 문자 ( 이스케이프 시퀀스 )
  • JavaScript는 직접 입력할 수 없는 문자를 만들기 위해 문자열에 포함시킬 수 있는 이스케이프 시퀀스를 제공합니다.이스케이프 시퀀스다음 표에서는 일반적인 문자에 대한 이스케이프 시퀀스의 몇 가지 예를 보여 줍니다.유니코드 문자 값이스케이프 시퀀스의미범주\u0008\b백스페이스\u0009\t탭공백\u000A\n줄 바꿈(새 줄)줄 종결자\u000B\v(이 표 아래에 있는 정보 참조)세로 탭공백\u000C\f폼 피드공백\u000D\r캐리지 리턴줄 종결자\u0020공백공백\u0022\"큰따...
  • 웹지기 09-23 5342 0 0 댓글 0
  • 27 [ jquery ] 라이브러리 모음
  • http://ui.jquery.com/jQueryUI 플러그인http://trirand.com/jqgrid/jQuery Grid 플러그인http://malsup.com/jquery/form/jQuery Form 플러그인File uploadAjax File UploadjQUploaderMultiple File Upload pluginjQuery File StyleStyling an input type fileProgress Bar PluginForm ValidationjQuery Validation...
  • 웹지기 09-28 4407 0 0 댓글 0
  • 26 [ javascript ] 자바스크립트 함수 모음
  • [code]&lt;script language="javascrip"&gt;function 함수명(){ 소스}&lt;/script&gt;:::외부:::&lt;a href="#" onclick="alert('환영')"&gt; ▶ 버튼에 스크립트 삽입&lt;a href="javascript:alert('환영')"&gt; ▶ 버튼에 스크립트 삽입&lt;...
  • 웹지기 09-28 2977 0 0 댓글 0
  • 25 [ jquery ] 검색결과 리스트글 / jQuery 관련 URL 모음
  • 강좌가볍고 쉬운 Ajax - jQuery 시작하기-가볍고 쉬운 Ajax - jQuery 시작하기|작성자하루살이ibm 강좌 -jQuery로 작업하기, Part 1: 브라우저로 데스크톱 응용 옮기기ibm 강좌 -jQuery로 작업하기, Part 2: 내일 나올 웹 응용을 오늘 구현해보자ibm 강좌 -jQuery로 Ajax 개발을 단순화 하기ibm 강좌 -jQuery로 작업하기, 3부: jQuery와 Ajax로 RIA 만들기ibm 강좌 -Ajax로 사이트 전면 개편, Part 1: Ajax와 jQuer...
  • 웹지기 09-28 4329 0 0 댓글 0
  • 24 [jquery] jqeyry 튜토리얼 모음
  • 제이쿼리(JQuery)[jQuery] 001. 제이쿼리를 이용한 12달 달력 코딩하기Customizing and Theming jQuery UI Datepicker[미리보기][jQuery] 002.포토샵과 제이쿼리를 이용한 이미지 슬라이드 만들기Customizing and Theming jQuery UI Datepick[미리보기][jQuery] 003.페이지 번호를 통한 페이지 스크롤 바 만들기Extreme Makeover: jPaginator CSS3 Edition[미리보기][jQuery] 00...
  • 웹지기 09-28 3979 0 0 댓글 0
  • 열람중 [ jquery ] jquery 간단 정리
  • 기본 셀렉터[code]$("*") : 모두$("div p") : 모든 &lt;div&gt;에 포함된 모든 &lt;p&gt;$("#loginID") : id="loginID"$(".Columns") : class="Columns"$("p &gt; a") : &lt;p&gt;에 포함된 한 단계 아래 레벨의 모든 &#...
  • 웹지기 09-27 3546 0 0 댓글 0
  • 20 [ jquery ] jquery 강좌 및 참고 사이트 모음
  • 강좌http://www.taeyo.pe.kr/Columns/List.aspx?SEQ=29&amp;IDX=0비디오 강좌http://blog.themeforest.net/screencasts/jquery-for-absolute-beginners-video-series/예제http://www.webdesignerwall.com/tutorials/jquery-tutorials-for-designers/참고사이트http://webitect.net/tutorials/jquery-tutorial-pa...
  • 웹지기 09-27 2761 0 0 댓글 0
  • 19 [ jquery ] jquery 활용 js 파일 include 하기
  • jquery를 이용해 js 파일들을 인클루드 하는 플러그인먼저 include 해야할 js 파일을 한 후 순차적으로 js 파일을 인클루드1. 기본환경설정[code]&lt;script src="/common/js/jquery-1.7.1.min.js" &gt;&lt;/script&gt;&lt;script src="/common/js/jquery.extended.js" &gt;&lt;/script&...
  • 웹지기 09-27 5431 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
3,963
어제
8,701
최대
61,067
전체
11,208,255

그누보드5
Copyright © funyphp.com. All rights reserved.