Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- map
- 자바
- Kotlin
- Java
- 리눅스마스터 1급 정리
- GoingBus
- 반복문
- JavaScript
- 리눅스마스터1급
- 코딩테스트
- 리눅스마스터 3과목
- 프로그래머스
- 자바스크립트 코딩의 기술
- java 백준 1차원 배열
- 백준 javascript
- 문자열
- 코테
- toCharArray
- 스프링 빈
- 백준 java
- Linux
- 스프링 컨테이너
- 월간코드챌린지
- 연습문제
- 리눅스
- 개발자 회고록
- 명령어
- 카카오
- 고잉버스
- Memoir
Archives
- Today
- Total
hoon's bLog
jQuery attr prop, 속성 프로퍼티 설정 본문
반응형
CSS 스타일 설정
.css()
- 선택한 요소의 CSS 스타일을 간단하게 설정
- 선택한 요소 집합의 첫 번째 요소의 스타일 속성값을 반환하거나, 선택한 요소의 스타일 속성을 인수로 전달받은 값으로 설정
$(function() {
$("button").on("click", function() {
$("p").css("fontSize", "25px"); // 모든 <p>요소의 글씨 크기를 25px로 설정함.
$("#text").html($("p").css("fontSize")); // 첫 번째 <p>요소의 글씨 크기를 반환함.
});
});
- 위의 예제에서 사용된 첫 번째 .css() 메서드는 선택한 요소의 글씨 크기를 25px로 설정
- 하지만 두 번째로 사용된 .css() 메서드는 선택한 요소의 글씨 크기 값을 반환해 주는 역할
- .css() 메서드를 사용하면 선택한 요소의 스타일에 관한 여러 속성값을 한 번에 설정
$(function() {
$("button").on("click", function() {
$("p").css({
fontSize: "25px", // 모든 <p>요소의 글씨 크기를 25px로 설정함.
backgroundColor: "yellow" // 모든 <p>요소의 배경색을 노란색으로 설정함.
});
});
});
- 자바스크립트에서는 하이픈(-)으로 연결된 CSS 속성 명을 사용할 때, 하이픈(-)을 제거하고 이름을 camelCase 방식으로 바꿔서 사용해야 함.
- 제이쿼리의 .css() 메서드에서는 하이픈(-)으로 연결된 CSS 속성 명과 camelCase 방식의 속성 명을 둘 다 사용 가능
$(function() {
$("#fontSize").on("click", function() {
$("p").css("fontSize", "25px"); // 자바스크립트와 제이쿼리 둘 다 사용할 수 있음.
});
$("#backgroundColor").on("click", function() {
$("p").css("background-color", "red"); // 제이쿼리에서만 사용할 수 있음.
});
});
프로퍼티 설정
.attr() : 선택한 요소 집합의 첫 번째 요소의 지정된 속성(attribute)값을 반환하거나, 선택한 요소의 지정된 속성을 전달받은 값으로 설정
$(function() {
$("#setBtn").on("click", function() {
$("#word").attr("title", "즐거운 제이쿼리 수업이에요~") // id가 "word"인 요소에 title 속성을 설정함.
.css("color", "red"); // 해당 요소의 CSS 스타일을 설정함.
});
$("#removeBtn").on("click", function() {
$("#word").removeAttr("title") // 해당 요소에서 title 속성을 제거함.
.css("color", "black");
});
});
.prop()
- 제이쿼리 1.6부터 새롭게 정의된 메서드
- 선택한 요소 집합의 첫 번째 요소의 지정된 프로퍼티(property)값을 반환
- 선택한 요소의 지정된 프로퍼티를 전달받은 값으로 설정
$(function() {
$("#setBtn").on("click", function() {
$("input[value='jquery']").prop({ // <input>요소 중에서 value 값이 "jquery"인 요소를 선택한 후
checked: true // 해당 요소에 checked 프로퍼티를 true 값으로 설정함.
});
});
$("#removeBtn").on("click", function() {
$("input[value='jquery']").removeProp("checked"); // 해당 요소에서 checked 프로퍼티를 삭제함.
});
});
속성(attribute)과 프로퍼티(property)의 차이점
- 속성(attribute)이란 HTML 요소의 추가적인 정보를 가지고 있는 이름과 값의 한 쌍을 의미
- 다음의 <input>요소는 checked라는 속성(attribute)을 가지고 있으며, 그 속성값은 "checked"
<input id="check" type="checkbox" name="lecture" checked="checked">
- 프로퍼티(property)란 위와 같은 속성을 객체화하였을 때의 HTML DOM 트리 내부에서의 값을 가리킴
- 위의 예제에서 만약 해당 체크박스가 체크되면 <check>노드의 프로퍼티 값은 "true"
- 즉, 속성은 HTML 문서에 존재하고 값이 변하지 않으며, 프로퍼티는 HTML DOM 트리에 존재하고 그 값이 변할 수 있음!
- 예를 들어, 사용자가 HTML 문서에 있는 <input>요소를 체크하거나 자바스크립트를 이용해 값을 변경하면, 속성값은 변하지 않지만 프로퍼티의 값은 변하게 되는 것!
.attr() 메서드와 .prop() 메서드와의 차이점
- 제이쿼리 1.6 이전에는 .attr() 메서드를 사용할 때 부정확한 동작을 일으키는 몇몇 속성에 대해 해당 프로퍼티 값까지 고려해서 코드를 작성해야 했음
- 제이쿼리 1.6부터 .attr() 메서드는 속성만을 다루게 하고, 새롭게 제공되는 .prop() 메서드를 이용하여 프로퍼티 값을 다루는 방법으로 위와 같은 문제점을 해결
$(function() {
$("#check").change(function() {
// checked 속성의 속성값을 반환함.
$("#text").html("checked 속성의 속성값 : " + $(this).attr("checked") +
"<br>checked 프로퍼티 값 : " + $(this).prop("checked")); // checked 프로퍼티 값을 반환함.
}).change(); // 값이 변할 때마다 갱신함.
});
Reference
https://www.tcpschool.com/jquery/jq_style_property
728x90
반응형
'IT > HTML, jQuery, Ajax' 카테고리의 다른 글
jQuery event handler object 이벤트 개념 및 처리 (1) | 2023.07.14 |
---|---|
jQuery class 클래스 속성 설정 및 클래스 메서드 (0) | 2023.07.13 |
jQuery element area 요소의 영역 (2) | 2023.07.12 |
jQuery DOM method 기타 탐색 메서드, 필터링(filtering) 메서드 (0) | 2023.07.11 |
jQuery parent sibling children element 부모 형제 자식 요소 탐색 (0) | 2023.07.10 |