jQuery
6. HTML 요소 관련 메서드
몽이코딩
2024. 9. 10. 15:56
반응형
메서드 종류 | 설명 |
text(), html() | 문서객체 안의 내용을 가져오거나 추가할 때 사용하는 메서드 |
attr(), prop() | 문서객체의 속성의 값을 가져오거나 속성을 추가하는 메서드 |
removeAttr() | 문서객체 속성을 제거하는 메서드 |
텍스트 관련 text()와 html() 메서드 비교
- text메서드와 html메서드는 문서객체의 텍스트컨텐츠를 컨트롤하는 메서드입니다.
- 둘다 게터와 세터를 갖고 있어, 글자를 얻어올 수도 있고, 변경할 수도 있습니다.
- 두 메서드의 큰 차이는 태그문자를 태그로 인식하는지, 아니면 문자로 인식하는지입니다.
- 자바스크립트의 innerHTML속성과 innerText속성을 메서드화 시켰다고 생각하면 편합니다.
1. 매개변수가 없는 경우(게터)
<!-- HTML -->
<h1 class="text1">텍스트1</h1>
<h1 class="text2">텍스트2</h1>
//javascript
$(document).ready(function(){
let text1 = $('.text1').text();
let text2 = $('.text2').html();
console.log(text1);
console.log(text2);
});
2. 매개변수가 한개인 경우(세터)
<!-- HTML -->
<h1 class="text3"></h1>
<h1 class="text4"></h1>
//javascript
$(document).ready(function(){
$('.text3').text('<a href="#">링크태그</a>');
$('.text4').html('<a href="#">링크태그</a>');
});
3. 매개변수가 함수인 경우(세터)
<!-- HTML -->
<div class="box1">
<h1>제목태그</h1>
<h1>제목태그</h1>
<h1>제목태그</h1>
</div>
<div class="box2">
<p>문단태그</p>
<p>문단태그</p>
<p>문단태그</p>
</div>
//javascript
$(document).ready(function(){
$('.box1 h1').text(function(index){
return 'Title Tag' + (index + 1);
});
$('.box2 p').prop(function(index){
return 'Paragraph Tag' + (index + 1);
});
});
속성 관련 attr()과 prop() 메서드 비교
- attr메서드와 prop메서드는 문서객체의 태그 속성을 컨트롤하는 메서드입니다.
- 둘다 게터와 세터를 갖고 있어, 태그 속성값을 얻어올 수도 있고, 변경할 수도 있습니다.
- 두 메서드의 차이는 속성값을 가지고 올 때의 차이점입니다.
- attr()메서드는 html의 입장에서, prop()메서드는 javascript 입장에서 속성값을 가져옵니다.
1. 매개변수가 한개인 경우(게터)
<!-- HTML -->
<!-- 이미지 다운로드해서 넣기 -->
<img src="test.jpg" alt="이미지" width="300">
<h3>attr메서드 : <span class="img1"></span></h3>
<h3>prop메서드 : <span class="img2"></span></h3>
//javascript
$(document).ready(function(){
//img태그 src속성값 얻어오기
let src1 = $('img').attr('src');
let src2 = $('img').prop('src');
//input태그 checked 결과 출력
$('.img1').html(src1);
$('.img2').html(src2);
});
2. 매개변수가 두개인 경우(세터)
<!-- HTML -->
<hr>
<input type="checkbox" id="chk1">
<label for="chk1">attr메서드로 체크</label>
<br>
<input type="checkbox" id="chk2">
<label for="chk2">prop메서드로 체크</label>
//javascript
$(document).ready(function(){
//반대는 undefined
$('#chk1').attr('checked','checked');
//반대는 false
$('#chk2').prop('checked',true);
});
3. 매개변수가 객체인 경우(세터)
<!-- HTML -->
<img src="test.jpg" alt="이미지" class="img">
//javascript
$(document).ready(function(){
//prop을 사용해도 되지만 보통 attr메서드를 더 많이 사용합니다.
$('.img').attr({
width: 800,
height: 500
});
});
4. 매개변수가 함수인 경우(세터)
<!-- HTML -->
<img src="test.jpg" alt="이미지" class="cat">
<img src="test.jpg" alt="이미지" class="cat">
<img src="test.jpg" alt="이미지" class="cat">
//javscript
$(document).ready(function(){
//prop을 사용해도 되지만 보통 attr메서드를 더 많이 사용합니다.
$('.cat').attr('width',function(index){
return (index + 1) * 100;
});
});
속성 삭제 메서드
//javscript
$('img').first().removeAttr('width');
반응형