반응형



$('li').css('color','red');

제이쿼리는 항상 $로 시작합니다

$ = jquery function 입니다. (제이쿼리 함수다)

$('css 선택자') <-- 대부분 어떤 element 의 css 선택자가 올지를 정한다 # id선택자 . class 선택자 그냥은 태그

$('li') <-- 는 제이쿼리 함수이다 (li 태그의 모든요소들을 객체로 객체로 바꾼결과

// $('li') 는 var object2 = (function() { return document.getElementsByTagName('li') });

약간 이런느낌??

chaining

$('li').css('color','red').css('textDecoration' , 'underline');

$('li')의 객체를 .css 프로퍼티로 전달햇는대 결국

$('li').css('color','red') 이것도 객체이기 때문에 .css 프로퍼티를 또 붙혀서 사용할수있다

이것을 chaining 라고한다.

내가 이렇게 선택한 엘리먼트 들을 연속적으로 또 메소드를 호출한다

html객체의 이름찾기

<body> <ol> <li name= 'name'>안녕하삼</li> <li id = 'active'>안녕하삼</li> <li class = 'class'>안녕하삼</li> <li>안녕하삼</li> <span id = 'act'>스판</span> </ol> <script> var li = document.getElementById('active'); console.log(li.constructor.name); // HTMLLIElement var li2 = document.getElementById('act'); console.log(li2.constructor.name); // HTMLSpanElement var lis = document.getElementsByTagName('li'); console.log(lis.constructor.name); // HTMLCollection </script> </body>

저렇게 id로 하나만 선택하는 것들은 HTML(엘리먼트이름)Element 가 나오고

Elements로 복수개를 선택하는 것들은 HTMLCollection 으로 나온다

HtmlCollection 은 유사배열이다.

DOM Tree

모든 엘리먼트는 HTMLElement의 자식이다.

따라서 HTMLElement의 프로퍼티를 똑같이 가지고 있다.

동시에 엘리먼트의 성격에 따라서 자신만의 프로퍼티를 가지고도 있는데, 이것은 성격에 따라서 달라진다.

HTMLElement 는 Element의 자식이고 Element는 Node의 자식이다.

Node는 Object의 자식이다.

이런 관계를 DOM Tree 라고 한다.



Dom Tree (이고잉 자바스크립트 출처) DOM Tree

jquery 객체

html collection 은 실시간으로 구조가 변경이된다.

제어대상찾기


반응형

'프로그래밍 > Jquery' 카테고리의 다른 글

jQuery - html 페이지 테이블 엑셀변환  (2) 2019.04.02
jQuery 란?  (0) 2019.02.27
jQuery - 속성 제어 api (JS의 ELEMENT와 이어짐)  (0) 2019.02.27
JQuery - NODE 객체  (0) 2019.02.27
반응형

제이쿼리는 자바스크립트보다 보다 실용적이고 적은 코딩으로 작성하기 때문에 줄임말을 자주사용한다

setAttribute , getAttribute 에 대응 되는 jquery의 메소드는 attr이다.

$('t1').attr('checked'); // getAttribute 고

$('t1').attr('checked' , false); // setAttribute 이다

또한 removeAttribute 에 대응되는 jquery의 메소드는 remobeAttr 이다.

제이쿼리에 .attr 은 속성제어자 이고 .prop 는 프로퍼티방식 이다

t1.prop('href'); // 은 href 의 값을 가져오는 것이고 get

t1.prop('href','abcd'); // 는 t1.href = 'abcd' 와 같다

또 javascript 에서는 속성제어자와 프로퍼티방식이 미묘한 차이가 있다고 했지만

제이쿼리에서는 이것을 내부적으로 보완 해주기 때문에

$('#t1').prop('className' , 'important');

$('#t2').prop('class' , 'important');

는 내부적으로 보완해줘서 서로 같은결과를 나타낸다.

제이쿼리 하위엘리먼트 선택 (조회범위 제한)

<!DOCTYPE html> <html> <head> <title>Page Title</title> <script src="https://code.jquery.com/jquery-1.12.4.min.js"></script> </head> <body> <ul> <li class="marked">html</li> <li>css</li> <li id="active">JavaScript <ul> <li>JavaScript Core</li> <li class="marked">DOM</li> <li class="marked">BOM</li> </ul> </li> </ul> <script> $(".marked","#active").css("background-color","red"); $("#active .marked").css("background-color","red"); //id값이 active 인 값중에 class가 marked 인 걸 red로 지정한다 $('#active').find('.marked').css("background-color","red"); //id값이 active 인 값중에 class가 marked 인 걸 찾아서 red로 지정한다 //위 3개의 구문은 같다고 봐도된다 $('#active').css('color','blue').find('.marked').css('background-color','red'); //id값이 active 인 값은 글씨 blue 로 그중에 클래스가 .marked인걸 찾아서 배경을 빨강 </script> </body> </html>


반응형

'프로그래밍 > Jquery' 카테고리의 다른 글

jQuery - html 페이지 테이블 엑셀변환  (2) 2019.04.02
jQuery 란?  (0) 2019.02.27
제이쿼리의 기본문법  (0) 2019.02.27
JQuery - NODE 객체  (0) 2019.02.27
반응형



<!DOCTYPE html> <html> <head> <title>Page Title</title> <script src="http://code.jquery.com/jquery.min.js"></script> </head> <body id = "body"> <ol id="ol"> <li><a href="#">1</a></li> <li><a href="#">2</a></li> <li><a href="#">3</a></li> <li id='li4'><a href="#">4</a></li> </ol> <div id = 'ul'> <li id = 'target'>A</li> <li>B</li> <li>C</li> <li>D</li> </div> <script> //var ul = document.getElementById('ul'); $('#ul').prepend('프리펜드'); // ul 시작후 첫번쨰 노드에 $('#ul').append('어펜드'); // ul 시작후 마지막 노드에 $('#ul').before('비포'); // ul 노드 시작전에 $('#ul').after('에프터'); //ul 노드 끝난 후에 //만약 추가할 대상이 제쿼 객체라면 해당 엘리먼트가 지정된 api로 이동이된다 </script> </body> </html>

위 예제의 결과

제이쿼리 NODE의 REMOVE 와 EMPTY

REMOVE --> 선택된 엘리먼트만을 제거

EMPTY --> 선택된 엘리먼트의 텍스트만을 제거

$('#target').remove(); //타겟 엘리먼트를 제거 $('#target').empty(); // 타겟 엘리먼트의 들어있는 텍스트 노드만 제거

제이쿼리 NODE의 replaceWith와 replaceAll

replaceWith --> 제어대상을 먼저 지정

replaceAll --> 제어대상을 인자로 전달

clone --> 대상 복사

$('#target').replaceWith($('#source').clone); //인자가 앞에 있음 $('#source').clone().replaceAll('#target'); // 인자가 뒤에 있음


반응형

'프로그래밍 > Jquery' 카테고리의 다른 글

jQuery - html 페이지 테이블 엑셀변환  (2) 2019.04.02
jQuery 란?  (0) 2019.02.27
제이쿼리의 기본문법  (0) 2019.02.27
jQuery - 속성 제어 api (JS의 ELEMENT와 이어짐)  (0) 2019.02.27
반응형

자바스크립트는 html 위에서 작동한다

html을 동적으로 작성하기 위해 자바스크립트라는 기술이 나왔습니다.

자바스크립트 데이터타입

1. Boolean

2. Null

3. Undefined

4. Number

5. String

6. Symbol (new in ECMAScript 6)

'문자열'.toUpperCase // 문자열을 대문자로 치환

'문자열'.indexOf('찾을문자') 찾을문자가 문자 몇번째에서부터 시작되는지 숫자로 표시됨

'문자열'.trim // 문자의 공백을 제거

x = 1;

대입연산자 = (우항의값을 좌항에 대입)

변수 : variable (베리어블) 이라고도 한다

html 에서 비교연산자 &it; 는 < 이렇게 표시된다

함수를 만드는 3가지 방법

//1. var showAll = function(){ } //2. function showAll() { } //3. var cow = {}; cow.showall = function(){ console.log("나다") } // 1번 2번은 같다고 보면된다 3번은 cow 라는 객체에 showall 이라는 함수를 넣은것이다

객체 내가 생각하는 객체는 변수 함수 메소드 모든게다 각각 객체가 될수있다

객채에 함수를 넣으면 그 함수는 메소드가된다

위 그림의 3번같은 경우

var showAll = {'abc' , 'abc1'};

이럴 경우 객체가 생성이된다.

또한 showAll 이라는 객체의 'abc' 는 프로퍼티 라고도 한다.

3번의 showall 에 들어있는 함수에서 this를 사용하면 cow를 뜻한다

함수 안에서 this를 쓰면 함수바로 상위의 객체를 this 로 쓴다

만약 2번처럼 쓰고 그안에 this 를 쓸경우 그 this 는 상위 객체? 인 window를 소환한다


반응형
반응형





자바스크립트는

var a = '1' alert(a) var a = '1'; alert(a);

이렇게 줄바꿈 하면 문장이 끝낫다고 알기때문에 ; 안붙혀도 작동이노딘다

하지만 ; 을 명시적으로 적어주는게 좋다

var a = 1 //여기서

a //는 변수

1 //은 값

= //은 대입연산자

//라고부른다

이런걸 이항 연산자라고 한다.

또한 비교문

= 는 대입연산자 우항의 값을 좌항에 넣는다

== 비교연산자 좌항과 우항의 같냐 틀리냐

=== 비교연산자 좌항과 우항의 값이 정확히 같냐 틀리냐

1 == "1" //true 데이터 타입이 달라도 정보의 값이 같아서 true

1 === "1" // false 정보의 값이 아니라 타입까지 일치해야한다

null 과 undefined는 값이 없다라는 뜻이다.

null // 값이 없다

undefined 정의되어있지 않다.

NaN 은 0을 0으로 나눳을때 (성립하지 않는다)

NaN === NaN // False



== 비교 연산자 일때

true 면 녹색

false 면 흰색 표시

자바스크립트 데이터 비교



=== 비교연산자 일때

true 면 녹색

false 면 흰색 표시

자바스크립트 데이터 비교

for 문에 i++ 는 실행을 하고 1씩증가하고

++i 는 증가한다음실행이된다

배열합치기

var li = ['a','b']

li.concat(['f','g'])

이렇게 되면 배열이 합쳐진다.




.unshift 를 쓰면 배열의 맨앞으로 추가된다.

배열.splice([인덱스],0,"배열에추가할문자")

배열 제거

배열.shift 첫번째 원소를 제거

배열.pop 끝번째 원소를 제거

배열정렬

배열.sort(); 하면 순서대로 정렬된다 디비 asc; 같은 느낌

배열.reverse(); 하면 거꾸로 정렬된다 디비desc;

객체



var grades = new Object(); 이것과 var grades = { }; 은 같은의미이다.


반응형

+ Recent posts