• Q&A
  • 회원가입
  • 로그인

[HTML_CSS] JQ - attr() 메서드 ★★★ - 속성값 설정/반환 (= attr메서드 = 어트르 메서드 = 어트리뷰트 메서드) ※ 라디오버튼 클릭시 이미지변경 (radio, click, image, img, change)

553  

목차

  1. attr() 예제 - 이미지 width 속성값을 500으로 설정
  2. attr() 정의
  3. attr() 구문
  4. attr() 예제 - 라디오버튼 클릭시 이미지변경
  5. attr() 예제 - 모든 링크에 특정 속성 추가

 

attr() 예제 - 이미지 width 속성값을 500으로 설정


<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>

$(document).ready(function(){

  $("button").click(function(){

    $("img").attr("width", "500");

    $("img").attr("height", "auto");

  });

});

</script>


<img src="https://source.unsplash.com/random" alt="랜덤이미지" width="284" height="213"><br>


<button>이미지크기 늘리기</button>

 

결과보기

 

attr() 정의

 

선택 요소의 (속성・속성값)을 설정/반환.

 



※ 속성값 반환 경우, 가장 처음 부합하는 요소의 값을 반환.

※ 속성값 설정 경우,  부합요소들의 하나 이상의 속성/속성값 설정.


 

attr() 구문


속성값 반환.

$(selector).attr(attribute)

 

속성값 설정.

$(selector).attr(attribute,value)

 

함수 이용해 속성값 설정.

$(selector).attr(attribute,function(index,value))


여러 '속성/속성값' 설정'.

$(selector).attr({attribute1:value1attribute2:value2,...})

 


[매개변수]

 

function (index, value)

선택. 설정할 속성값을 반환하는 함수 지정.

 

index

세트 내의 요소의 색인번호

 

value

선택된 요소의 현재 속성 값


 

attr() 예제 - 라디오버튼 클릭시 이미지변경

 

<script src="https://code.jquery.com/jquery-latest.js"></script>


<label for='a'><input type="radio" class="abc" name="abc" value='a' id='a'> a. 협박</label>

<label for='b'><input type="radio" class="abc" name="abc" value='b' id='b'> b. 뽀뽀</label>

<label for='c'><input type="radio" class="abc" name="abc" value='c' id='c'> c. 조롱</label>

 

<style>

label {margin-right:20px;}

label:hover {color:red;}

.on {color:red;}

</style>

 

<div class="box">

  <img src="https://i.imgur.com/PQNhCln.gif" class='hz'>  

</div>


<script>

$(document).ready(function(){

  $(".abc").click(function(){

      if($(this).val()=="a"){

          $("label[for!='a']").removeClass('on');

          $("label[for='a']").addClass('on');

          $(".hz").attr("src","https://i.imgur.com/PQNhCln.gif");

      }

      if($(this).val()=="b"){

          $("label[for!='b']").removeClass('on');

          $("label[for='b']").addClass('on');

          $(".hz").attr("src","https://i.imgur.com/YrkG5xB.gif");

      }

      if($(this).val()=="c"){

          $("label[for!='c']").removeClass('on');

          $("label[for='c']").addClass('on');

          $(".hz").attr("src","https://i.imgur.com/3h0LOk9.gif");

      }

  });

});

</script>

 

결과보기

※ val() 부분 대신 attr("value") 코드도 가능. 단, 간단한 val() 이용 권장. - 균이 님 

 

attr() 예제 - 모든 링크에 특정 속성 추가

 

<script>

$(function() {

  $('a').attr('href', $('a').attr('href') + '&on=ok');

});

</script>

 

PS. 링크에 ? 기호 있는지 여부 판별하는 코드 보충 필요.

트샷 님 (211026) https://sir.kr/qa/436148



찾아주셔서 감사합니다. Since 2012