JQuery

211014(목) jQuery - arrt() / prop() / CSS

구름이팡팡 2021. 10. 14. 10:08
728x90

[속성 attribute - attr() / prop()]

 

<exam01>


jQuery 1.6버전 이전에는 attr() 만으로 가능하던 처리를 1.6 업데이트로 attr()과 prop() 으로 나뉘어졌다.
이전에는 attr() 하나로 많은 것을 처리하려다 보니 버그 및 문제가 발생하여 업데이트를 통해 불완전을 해소했다고 한다.

1. attr()
- HTML에 작성된 속성값을 문자열로 받아온다 있는 그대로 => prop()와의 차이

그 태그에 이 속성을 추가해라!!!


[형식]
var 변수명 = $("요소").attr("속성이름");               => 값 꺼내기
$("요소").attr("속성이름", "값");                         =>값 하나주기

$("요소").attr({                                              =>값 여러개 주기
      "속성1이름": "값",
      "속성2이름": "값",
      "속성3이름": "값"
});

2. prop()
- 지정한 선택자를 가진 첫번째 요소의 속성값을 가져오거나 속성값을 추가한다
- 자바스크립트의 프로퍼티를 가져온다 : 의미하는 값을
  주의할 점은 HTML 입장에서의 속성(attribute)이 아닌 JavaScript 입장에서의 속성(property)이라는 것이다
- 자바스크립트의 프로퍼티 값이 넘어오기 때문에 boolean, date, function 등도 가져올 수 있다

[형식]
.prop("속성이름")        → 속성값을 가져온다 (문자열 x)
.prop("속성이름", "값")   → 속성값을 추가한다

 

<exam02>

클릭이벤트 시 attr 속성을 이용하여 값을 편리하게 출력하는 방법

<exam03>

 

cf) 브라우저마다 다른 모양!

<exam04>

<exam05>


[jQuery - CSS]

(1) 속성값 읽기
var 변수명 = $("요소").css("CSS 속성이름");

(2) 속성값 변경 및 추가하기
$("요소").css("속성이름", "값");

$("요소").css({
      "속성1이름": "값",
      "속성2이름": "값",
      "속성3이름": "값"
});
---------------------------

(1) CSS 클래스의 적용 여부 알기
var 변수 = $("요소").hasClass("클래스이름");

(2) 클래스의 적용과 해제

$("요소").addClass("클래스이름");
$("요소").removeClass("클래스이름");

(3) 클래스의 적용과 해제의 반복 처리
- HTML 태그 요소의 CSS 클래스에 대한 적용과 해제를 자동 순환 반복
$("요소").toggleClass("클래스이름"); =>add, remove 번갈아 움직인다

 

<exam01>

<exam02>

 

cf) 스타일시트 : 선없애주는 디테일

<exam03>

 

728x90