1. 정의
속성 : 속성, 모든 HTML 요소는 HTMLELENT 유형으로 표시됩니다. htmlelement 유형은 요소에서 직접 상속하고 일부 속성을 추가합니다. 추가 된 속성은 각 HTML 요소에 해당합니다. ID, 제목, lang, dir, className은 다음과 같은 5 가지 표준 특성입니다. DOM 노드는 객체이므로 다른 JavaScript 객체와 같은 사용자 정의 속성 및 메소드를 추가 할 수 있습니다. 속성의 값은 모든 데이터 유형 일 수 있으며, 이는 사례에 민감하며 사용자 정의 속성은 HTML 코드에 표시되지 않지만 JS에는 존재합니다.
속성 : 특징은 속성과는 다른 특징은 문자열 일 뿐이며, 케이스에 민감하지 않으며, innerHTML에 나타날 수 있으며, 모든 속성은 클래스 배열 속성을 통해 나열 될 수 있습니다.
2. 유사성
표준 DOM 속성은 속성과 동기화됩니다. 인식 된 (비가운) 속성이 DOM 객체에 속성으로 추가됩니다. 예를 들어, ID, 정렬, 스타일 등, 현재,이 시점에서, 운영 특성을 사용하는 getAttribute ()와 같은 운영 속성 또는 DOM 메소드를 통해 속성을 작동 할 수 있습니다. 그러나 getAttribute ()로 전달 된 속성 이름은 실제 속성 이름과 동일합니다. 따라서 클래스의 특성 값을 얻을 때 "클래스"로 전달해야합니다.
3. 차이점
1). 일부 표준 특성의 경우 GetAttribute 및 Point (.)에 의해 얻은 값에는 차이가 있습니다. HREF, SRC, 가치, 스타일, ONCLICK 및 기타 이벤트 처리기와 같은.
2) .href : getAttribute는 HREF의 실제 값을 가져오고, 도트는 완전한 URL을 얻습니다. 이는 브라우저 차이가 있습니다.
코드 사본은 다음과 같습니다.
<cript>
var a = document.body.children [0]
A.href = '/'
Alert ( '속성 :' + a.getAttribute ( 'href')) // '/'
ALERT ( '속성 :' + A.HREF) // IE : '/', 기타 : 전체 URL
</스크립트>
SRC의 값은 HREF와 유사하지만 IE는 전체 URL을 반환합니다.
값 값에는 또한 '일원'(일방 통행) 동기화에 대한 몇 가지 내장 속성이 있습니다.
예를 들어, input.value 속성에서 동기화 (예 : 속성이 속성에서 동기화됩니다)
코드 사본은 다음과 같습니다.
<입력 유형 = "text"value = "markup">
<cript>
var input = document.body.children [0];
input.setattribute ( 'value', 'new');
경고 (입력. 값); // 'new', input.value 변경
alert (input.getatrriobute (value)); // '새로운'
</스크립트>
그러나 속성은 속성에서 동기화를 얻을 수 없습니다.
코드 사본은 다음과 같습니다.
<입력 유형 = "text"value = "markup">
<cript>
var input = document.body.children [0];
input.value = 'new';
alert (input.getAttribute ( 'value')); // '마크 업', 변경되지 않았습니다!
</스크립트>
getAttribute는 초기 값을 얻는 반면 점은 초기 값 또는 .value 수정 값을 얻습니다. 예를 들어, 방문자가 특정 문자를 입력하면 '값'속성은 속성이 업데이트 된 후 원래 값을 유지합니다. 원래 값은 입력이 변경되는지 여부를 확인하는 데 사용될 수 있습니다.
Style 및 OnClick과 같은 이벤트 처리기의 경우 GetAttribute 메소드가 액세스 할 때 문자열을 반환하고 DOT는 해당 객체 및 이벤트 처리기 기능을 반환합니다.
입력에서 확인 된 속성
코드 사본은 다음과 같습니다.
<cript>
var input = document.body.children [0]
alert (input.checked) // true
ALERT (input.getAttribute ( 'Checked')) // 비어있는 문자열
</스크립트>
GetAttribute는 실제로 설정하는 값을 얻습니다. 포인트는 부울 값을 반환합니다.
브라우저 호환성의 차이
1. IE <9 브라우저에서는 DOT 번호와 GetAttribute를 사용하여 서로의 사용자 지정 속성에 액세스 할 수 있습니다.
2. IE <8 (IE8 IE7 호환성 모드 포함), 속성 및 속성은 동일합니다. 속성은 대소 문자를 사용하지 않기 때문에이 경우 getAttribute를 사용하여 기능에 액세스 할 때 브라우저는 처음으로 나타나는 값을 선택합니다.
코드 사본은 다음과 같습니다.
document.body.abba = 1 // 속성 할당 (이제 getAttribute로 읽을 수 있습니다)
document.body.abba = 5 // 다른 경우와 함께 속성을 할당합니다
// 'ABBA'라는 속성을 대변인으로 불신해야합니다.
Alert (document.body.getAttribute ( 'abba')) // 1
우선 순위 속성
실제 응용 분야에서 DOM 운영의 98%가 속성을 사용합니다.
속성 사용이 필요한 두 가지 상황 만 있습니다.
1. HTML 속성은 DOM 속성과 동기화되지 않기 때문에 사용자 정의합니다.
2. 속성에서 동기화 할 수없는 내장 HTML 속성에 액세스하십시오. 예를 들어 입력 태그의 값 값입니다.