프로퍼티와 어트리뷰트 조작하기

2015. 4. 23. 13:45plming/jQuery

. 집합을 순회하면서 전달된 반복자 함수를 엘리먼트마다 호출 : each(iterator)

  함수의 인자 n은 0 부터 시작하는 인덱스를 매개변수로 받는다.

  함수로 처리된 확장 집합을 return한다.

  $('img').each( function(n) {

      this.alt = '아이디가 ' + this.id + '인 image['+n+']이다.';

  } );

 

  var allAlts = new Array();

  $('img').each( function(n) {

      allAlts.push( this.alt );

  } );

 

 

. 일치하는 집합의 첫 번째 엘리먼트에서 명시된 어트리뷰트의 값을 얻는다. : attr(name)

  일치하는 집합이 없거나, 첫 번째 엘리먼트에 어트리뷰트가 없다면 undefined를 반환

  $("#myImage").attr("custom");

 

※ 프로퍼티를 사용하면 간단한데, 굳이 어트리뷰트를 다뤄야 하는 이유는?

    표준화된 프로퍼티 이름이 브라우저에 따라 다른 프로퍼티명을 사용하기 때문

 

. 어트리뷰트 값 설정 #1 : attr(name, value=String|Object|Function) 

  확장 집합의 모든 엘리먼트의 해당 어트리뷰트 이름의 값을 설정

  value가 함수일 경우, 확장 집합에 속한 엘리먼트마다 전달된 함수가 호출되며,

  함수의 반환값이 어트리뷰트 값으로 사용된다.

  함수가 호출되면, 확장 집합 엘리먼트의 0부터 시작하는 인덱스가 매개변수로 전달된다.

  $('*').attr('title', function(index) {

       return '나는 '+index+'번 엘리먼트이고 내 이름은 '+(this.id?this.id:'unset')+'이다.';

  } );

 

. 어트리뷰트 값 설정 #2 : attr(attributes)

  $('input').attr(

      { value: '', title: '값을 입력하세요.' }

  );

 

 

. 엘리먼트에서 명시된 어트리뷰 제거 : removeAttr(name)

  설정된 값이 default값으로 초기화된다.

 

 

$("a[href^=http://]".attr("target","_blank");

 

$("form").submit(function() {

   $(":submit",this).attr("disabled","disabled");

});

 

 

'plming > jQuery' 카테고리의 다른 글

엘리먼트 콘텐츠 설정하기  (0) 2015.04.23
엘리먼트 스타일 변경하기  (0) 2015.04.23
확장 집합 다루기  (0) 2015.04.22
HTML 생성하기  (0) 2015.04.22
셀렉터 사용하기 #3 - jQuery 정의 셀렉터  (0) 2015.04.22