독서하는 개발자's Blog

반응형

문서 객체 메소드 정의 및 사용방법 정리 - 1


문서 객체 메소드정의부터 살펴보고 가겠습니다!!


1
2
3
4
5
6
7
8
9
10
11
addClass()         //문서 객체의 클래스 속성을 추가
removeClass()   //문서 객체의 클래스 속성 제거
attr()             //속성과 관련된 모든 기능을 수행
removeAttr()    //문서 객체의 속성을 제거
css()            //스타일과 관련된 모든 기능을 수행
html()            //문서 객체 내부의 글자와 관련된 모든 기능을 수행(HTML 태그 인식)
text()            //문서 객체 내부의 글자와 관련된 모든 기능을 수행
remove()        //문서 객체 제거
empty()            //문서 객체 내부를 비움
$()                //문서 객체를 생성
clone()            //문서 객체를 복사
cs



아래는 메소드에 대한 설명 및 예시입니다. 


몇가지만 설명하고 마치겠습니다.




addClass()

addClass() 영어 뜻 그대로 클래스를 추가한다로 생각하면 안되고 클래스의 "속성"을 추가한다라고 보시면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//변경전
<body>
  <h1>example-1</h1>
  <h1>example-2</h1>
  <h1>example-3</h1>
</body>
 
//addClass jquery method
<script>
  $(function(){
    $('h1').addClass('item');
  });
</script>
 
//변경후 
<body>
  <h1 class='item'>example-1</h1>
  <h1 class='item'>example-2</h1>
  <h1 class='item'>example-3</h1>
</body>
cs

h1 태그마다 class명이 item으로 생성된 것을 볼 수 있습니다.

또, addClass는 매개변수로 index 값을 가지는데, addClass 매개변수 안에 인덱스를 주면 아래와 같이 클래스마다 인덱스를 부여해줄 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//변경전
<body>
  <h1>example-1</h1>
  <h1>example-2</h1>
  <h1>example-3</h1>
</body>
 
<script>
  $(function(){
    $('h1').addClass(function(index){
      return 'item' + index;
    }));
  });
</script>
 
//변경후 
<body>
  <h1 class='item0'>example-1</h1>
  <h1 class='item1'>example-2</h1>
  <h1 class='item2'>example-3</h1>
</body>
cs


removeClass() 메소드도 똑같이 사용하면 됩니다. (속성 제거)





attr()

attr은 attribute 즉, 속성과 관련된 모든 기능을 수행합니다.

속성을 알아낼수도 있고, 속성을 추가할 수도 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
<body>
  <img src="Desert.jpg" />
</body>
 
<script>
  $(function(){
    var attr = $('img').attr('src'));
    console.log(attr);
 
    //결과 => Desert.jpg
  });
</script>
cs


위 예제는 img태그에 src속성을 꺼내온겁니다. 결과는 Desert.jpg가 나오게 되겠죠.


반대로, 속성에 값을 추가해줄 때는 어떻게하면 될까요?


1
2
3
4
5
6
7
8
9
10
11
12
<body>
  <img src="Desert.jpg" />
</body>
 
<script>
  $(function(){
    var attr = $('img').attr('width'300));
    console.log(attr);
 
    //결과 => 넓이가 300인 Desert.jpg 
  });
</script>
cs


width 속성을 지정하고 300이라는 값을 넣었습니다.

attr메소드는 attr안에 속성만 넣을 시에 속성 값을 가져오고 속성 + 값을 넣었을 경우에 기존에 속성값을 변경, 새로 추가할 수 있습니다.


또한, 여러개의 동일 태그가 있을 시, attr메소드 안에 매개변수에서 인덱스를 이용하여 각각 다른 사이즈의 width를 넣어줄 수 있습니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<body>
  <img src="Desert1.jpg" />            // index = 0
  <img src="Desert2.jpg" />            // index = 1
  <img src="Desert3.jpg" />            // index = 2
</body>
 
<script>
  $(function(){
    var attr = $('img').attr('width'function(index){
        
        return 100 * index;
    });
  });
</script>
 
//변경 후
<body>
  <img src="Desert1.jpg" width = "0"/>
  <img src="Desert2.jpg" width = "100"/>
  <img src="Desert3.jpg" width = "200"/>
</body>
cs


여기서 width값 말고 height 값도 넣어주고 싶습니다!!!

그럼 어떻게 할까요?


JSON 방식을 이용하여 아래와 같이 사용하면 됩니다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<body>
  <img src="Desert1.jpg" />            // index = 0
  <img src="Desert2.jpg" />            // index = 1
  <img src="Desert3.jpg" />            // index = 2
</body>
<script>
  $(function(){
    var attr = $('img').attr(
        {width : function(index){ return 100 * index;}, height : 200; }
        //JSON 방식 사용
);
  });
</script>
//변경 후
<body>
  <img src="Desert1.jpg" width = "0" height = "200"/>
  <img src="Desert2.jpg" width = "100" height = "200"/>
  <img src="Desert3.jpg" width = "200" height = "200"/>
</body>
cs



removeAttr() 와 removeClass()의 차이

뭔가 비슷해보이지만 비슷하지않은 이 둘의 차이점은 무엇일까요

둘다 사용하여 클래스 속성을 지울 수 있습니다.
하지만, removeAttr()은 모든 클래스 속성을 한번에 지워버리게 되는 수가 있습니다.
그에 반해, removeClass()는 선택적으로 클래스 속성을 지울 수 있다는 장점이 있습니다.








반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band