반환
void
는
invalid_character_err, no_modification_allowed_err
키 테이크 아웃
JavaScript의 setAttribute 메소드를 사용하면 개발자가 HTML 요소의 속성 및 해당 값을 추가, 변경 또는 업데이트 할 수 있습니다. 문서 객체 모델 (DOM)의 일부이며 속성 이름과 그 값의 두 매개 변수가 필요합니다.
setAttribute 메소드는 대소 문자에 민감하며 CSS 스타일 및 사용자 정의 데이터 속성을 수정하는 데 사용할 수 있습니다. 그러나 이벤트 핸들러의 경우 setattribute 대신 addeventListener 메소드를 사용하는 것이 좋습니다.
SetAttribute에서 낙타에 기반을 둔 이름을 사용할 때주의하십시오. 이로 인해 다른 브라우저에서 불일치가 발생할 수 있습니다. 또한 값을 설정할 때 값이 구문 분석되지 않으므로 엔티티 참조 또는 기타 마크 업은 문자 그대로 텍스트로 취급됩니다.
예제
위의 예는 요소의 값을 가진 rel 속성을 설정합니다.
따라서 해당 요소 가이 html이라면 :
그러면 위의 조작은 다음과 같은 결과를 초래할 것입니다
-
인수
이름 - (domstring)
필수
속성의 이름
생성 또는 변경. -
value (domstring)
필수
의 문자열 값
기인하다.
element.setAttribute('rel', 'me');
로그인 후 복사
로그인 후 복사
설명
지정된 이름과 값 이이 요소에 새 속성을 설정하십시오.
지정된 이름으로 속성이 이미 존재하는 경우 해당 값이 대체됩니다.
값을 설정할 때 값은 구문 분석되지 않으므로 모든 엔티티 참조 또는 기타 마크 업은 문자 그대로 텍스트로 취급됩니다. 엔티티가 포함 된 속성을 만들려면 사양은 적절한 텍스트 및 엔터티 참조 노드가있는 attr node를 어린이로 만들어주는 것이 좋습니다. 그런 다음 SetattritbiteNode를 사용하여 요소에 추가하지만 실제로는 거의 작동하지 않습니다 (자세한 내용은 attr 참조). <a href="http://www.brothercake.com/">brothercake</a>
로그인 후 복사
이 방법은 이름이없는 속성으로 작업하는 것입니다. 네임 스펙이있는 속성을 추가하려면 DOM 2 SetAttributens 메소드를 대신 사용하십시오. .
낙타 캐비린 속성 이름
에주의하십시오
XHTML 모드의 Opera에서 낙타 캐스트 이름의 속성을 설정하면 해당 DOM 속성에 영향을 줄 수 있으므로 모든 브라우저에 대한 코드에서 Camel-Cased 이름을 사용하여 신중해야합니다. 예를 들어, tabindex라는 속성을 모든 값으로 설정하면 tabindex 속성을 0 (기본값)으로 재설정하고 원래 tabindex 속성을 완전히 제거하고 이름 tabindex 및 이름이 새 속성을 생성하는 효과가 있습니다. 지정된 문자열 값. 이 동작은 아마도 XHTML 모드에서 사례 감수성을 처리하는 방법에 대한 불일치에 달려 있습니다. 이 작업을 수행하는 다른 브라우저 (Firefox 및 Safari)에서는 tabindex라는 새 속성을 생성하는 동시에 원래 tabindex 속성과 해당 Tabindex 속성을 변경하지 않습니다.
이 노트는 XHTML 모드의 이러한 브라우저에만 적용됩니다. HTML Mode2에서 이름 인수는 대소 문자를 사용하지 않으므로 tabindex는 tabindex로 취급됩니다.
또한 html의 즉, 입력 요소의 유형 속성을 설정할 수 없습니다. 그렇게하려고 시도하면 오류가 발생합니다 (이 명령은 지원되지 않음). 또한 스타일 속성을 설정할 수 없으며 (그렇게하는 경우에는 효과가 없습니다) 이벤트 처리 속성을 문자열로 설정할 수 없습니다 (해당 요소가 이미 같은 이름의 이벤트 처리 속성이 없다면 효과가 없습니다. 새 제품을 설정하기위한 운영이 사례가 오래된 것을 제거하고 아무것도 남기지 않을 것입니다. 이후에 GetAttribute는 설정된 문자열 값을 반환하지만 실제로 요소에 활성 이벤트 핸들러가 없을 것입니다). 그러나 함수가 문자열이 아닌 값 인수로 전달되는 경우 이벤트 처리 속성을 설정할 수 있습니다.
마지막으로,이 메소드가 이미지의 SRC 속성을 설정하는 데 사용되면 GetAttribute에서 반환 된 값은 완전히 자격을 갖춘 URI가됩니다. 이것은 정적 HTML에서 설정된 SRC를 검색 할 때 동작과 동일합니다. 그러나 링크의 HREF를 설정할 때 이후에 반환 된 값은 설정된 문자 값이됩니다. 이것은 값이 자격을 갖춘 URI로 반환되는 정적 HTML의 동작과 다릅니다.
그것이 작동하는지 어떻게 알 수 있습니까?
이 방법이 예상대로 작동하는지 여부를 설정하는 것은 특히 어렵습니다. 이름의 속성을 전혀 설정할 수는 있지만 기대 속성은 아닐 수도 있습니다. 예를 들어, Internet Explorer에서는 여전히 클래스라는 속성을 설정 한 다음 GetAttribute ( 'Class')로 검색 할 수 있지만 ClassName 속성과 일치하지 않습니다. 요소.
모든 브라우저에서 부울 (예 : 비활성화)으로 평가하는 속성은 true로만 설정할 수 있습니다. False로 설정하는 것은 효과가 없습니다. 이것은 올바른 동작이며, 그러한 속성은 하나의 가능한 값 (즉, disabled =”disabled”) 만 있거나 정의되지 않기 때문에 (따라서 removeattribute로 부정해야 함). Opera 9.5에서 Firefox 및 Safari는 속성 값이 이후에 거짓으로 반환되지만 요소는 여전히 비활성화되며 Opera 9.0에서는 값이 계속 비활성화 된대로 반환되며 Internet Explorer에서는 값이 부울 진짜로 계속 반환됩니다. 이것들은 조금 혼란스러워하더라도 요소의 상태를 정확하게 반영합니다! 그러나 IE는 이러한 속성을 실제 부울 값을 갖는 것으로 간주하기 때문에 문자열이 아닌 부울로 설정하여 값을 전환하고 비활성화 할 수 있습니다.
인터넷 익스플로러는 값 0 (Case-Insensitive) 또는 1 (기본, 사례에 민감한)을 취할 수있는 사례 감지 플래그 인 SetAttribute에 대한 두 번째 인수를 구현합니다. 이 주장은 IE에서 예상대로 작동하며 다른 브라우저에는 영향을 미치지 않습니다.
setattribute w3c dom core method element.setAttribute('rel', 'me');
로그인 후 복사
로그인 후 복사
에 대한 자주 묻는 질문
javaScript의 setAttribute 메소드는 무엇입니까? JavaScript의 setAttribute 메소드는 개발자가 HTML 요소를 조작 할 수있는 문서 개체 모델 (DOM)의 중요한 부분입니다. 이 방법은 HTML 요소의 속성 및 해당 값을 추가, 변경 또는 업데이트하는 데 사용됩니다. 속성 이름과 그 값의 두 매개 변수가 필요합니다. 예를 들어, 텍스트의 색상을 변경하려면 setAttribute를 사용하여 요소의 스타일 속성을 수정할 수 있습니다.
setAttribute가 getAttribute와 어떻게 다른가?
stattribute가 사용되는 동안 속성 값을 추가하거나 변경하기 위해 GetAttribute는 속성 값을 검색하는 데 사용됩니다. 둘 다 DOM의 요소 인터페이스의 방법입니다. 그들은 개발자가 HTML 요소와 상호 작용하고 조작 할 수 있도록 함께 협력합니다. setAttribute를 사용하여 CSS 스타일을 수정할 수 있습니까?
예, CSS 스타일을 수정할 수 있습니다. 이 방법은 CSS 속성을 포함하는 HTML 요소의 스타일 속성을 변경할 수 있습니다. 그러나 stattribute를 사용하면 기존 인라인 스타일을 덮어 쓸 수 있습니다. 다른 사람에게 영향을 미치지 않고 특정 스타일 속성을 변경하려면 요소의 스타일 속성을 사용하는 것이 좋습니다. 속성이 존재하지 않으면 어떻게됩니까?
속성이없는 경우 어떻게됩니까? setattribute 메소드는 지정된 값으로이를 생성합니다. 이것이 Setattribute가 강력한 이유 중 하나입니다. 개발자는 HTML 요소에 속성을 동적으로 추가 할 수 있습니다. 사용자 정의 데이터 속성과 함께 setattribute를 사용할 수 있습니까? 예, Setattribute는 사용자 정의 데이터 속성과 함께 사용할 수 있습니다. 이것은 시각적 표현이없는 추가 정보를 저장해야 할 때 특히 유용합니다. html5 표준을 준수하려면‘data-’로 속성 이름을 접두사로 접두사해야합니다.
는 setattribute case-sensitive?
예, setattribute는 사례에 민감합니다. 이것은‘클래스’와‘클래스’가 두 가지 다른 속성으로 취급 될 것임을 의미합니다. 속성으로 작업 할 때는 항상 올바른 케이스를 사용해야합니다. SetAttribute를 사용하여 이벤트 처리기를 추가 할 수 있습니까?
기술적으로 SetAttribute를 사용하여 이벤트 처리기를 추가 할 수는 있지만 권장하지는 않습니다. 이벤트 속성의 값이 항상 문자열이기 때문에 이벤트 핸들러로 함수를 직접 할당 할 수 없기 때문입니다. 대신,이 목적을 위해 특별히 설계된 addeventListener 메소드를 사용하십시오.
SetAttribute는 모든 HTML 요소와 함께 작동합니까?
예, SetAttribute는 모든 HTML 요소와 함께 작동합니다. 그러나 모든 속성이 모든 요소에 적용되는 것은 아닙니다. 예를 들어, 'SRC'속성은 'IMG'요소와 관련이 있지만 'p'요소에는 관련이 없습니다. setAttribute를위한 일반적인 사용 사례는 무엇입니까?
stattribute는 일반적으로 사용됩니다. HTML 요소의 외관 또는 동작을 동적으로 변경하십시오. 예를 들어, 텍스트의 색상을 변경하거나 이미지에 테두리를 추가하거나 이미지 소스를 변경하는 데 사용할 수 있습니다. 또한 사용자 정의 데이터 속성을 추가하는 데 사용됩니다.
설정을 설정하기위한 대안이 있습니까? 예, SetAttribute에 대한 대안이 있습니다. 예를 들어, HTML 요소의 특성을 직접 수정할 수 있습니다. 이것은 종종 stattribute를 사용하는 것보다 단순하고 직관적입니다. 그러나 setattribute는 사용자 정의 데이터 속성을 포함하여 모든 속성으로 작업 할 수 있다는 이점이 있습니다.
위 내용은 setAttribute (W3C DOM Core Method)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!