UFO ET IT

jQuery.attr () 함수를 사용하여 여러 데이터 속성을 설정할 수 있습니까?

ufoet 2020. 12. 3. 21:08
반응형

jQuery.attr () 함수를 사용하여 여러 데이터 속성을 설정할 수 있습니까?


이것은 작동합니다 :

$(myObj).attr("data-test-1", num1);
$(myObj).attr("data-test-2", num2);

그러나 이것은 그렇지 않습니다.

$(myObj).attr({
  data-test-1: num1,
  data-test-2: num2
});

여기서 정말 분명한 것이 놓치고 있습니까?


물론입니다.

$(myObj).attr({"data-test-1": num1, "data-test-2": num2});

.attr()문서 상태 와 같이 :

한 번에 여러 속성 설정

alt 속성을 변경하고 동시에 title 속성을 추가하려면 일반 JavaScript 객체를 사용하여 이름과 값의 두 세트를 한 번에 메서드에 전달합니다. 객체의 각 키-값 쌍은 속성을 추가하거나 수정합니다.

$('#greatphoto').attr({
  alt: 'Beijing Brush Seller',
  title: 'photo by Kelly Clark'
});

여러 속성을 설정할 때 속성 이름을 따옴표로 묶는 것은 선택 사항입니다.


예, 여러 속성을 설정할 수 있습니다. 간단한 개체 리터럴 구문을 사용하면됩니다. 예:

$('#my_image').attr({
  alt: 'Beijing Brush Seller',
  title: 'photo by Kelly Clark'
});

attr 메소드에 대한 자세한 정보는 여기 에서 찾을 수 있습니다 .


수년 동안 이미 해결 된 질문에 대한 답변을 게시하여 죄송합니다.

추천 솔루션 [인용 필요] 을 날짜로 업데이트하여 스레드를 최신 상태로 유지하는 것에 대해 생각했습니다 .

jQuery를하기 때문에 1.2.3하는이 .data()얻을 수있는 인수 / 세트 데이터 속성을 (설정 여러 이후 사용할 수있었습니다 소요 기능 1.4.3과 같이) :

/* 
 ** In all the example below, note that 
 ** 'data-' is removed from attribute name
 */

// Setter (single)
$('#my_image').data('test-1', 'num1');
$('#my_image').data('test-2', 'num2');

// Setter (multiple)
$('#my_image').data({'test-1':'num1', 'test-2':'num2'});

// Getter (single)
$('#my_image').data('test-1');    // num1
$('#my_image').data('test-2');    // num2

로 데이터 속성을 설정 .data()하면 DOM이 업데이트되지 않으므로 DOM 검사기에서 볼 수 없습니다. 또한 .attr(). 그러나로 설정된 데이터 속성 .attr()은로 검색 할 수 있습니다 .data()(즉, 'data-'로 시작하는 모든 속성은로 검색 할 수 있습니다 .data()).

// Setter
$('#my_image').attr('data-test-3', 'num3');    // note the 'data-' on attr name

// Getter
$('#my_image').data('test-3');    // num3

참고 URL : https://stackoverflow.com/questions/16422675/is-it-possible-to-set-multiple-data-attributes-using-the-jquery-attr-function

반응형