테스트 환경(클라이언트 브라우저)
IE6, IE7, IE8 호환 모드, IE8
Firefox 3.6.8, google chrome 5.0.375.125
먼저 두 함수 정의의 기준을 설명합니다.
elementNode.setAttribute(name,value)
이름이 필요합니다. 설정할 속성 이름을 지정합니다.
값이 필요합니다. 설정할 속성 값을 지정합니다.
이 방법은 지정된 속성을 지정된 값으로 설정합니다. 지정된 이름의 속성이 존재하지 않는 경우 이 메서드는 새 속성을 만듭니다.
elementNode.getAttribute(name)
이름이 필요합니다. 속성 값을 얻는 속성을 지정합니다.
1. setAttribute 관련 문제
elementNode는...
행을 클릭하기 위한 이벤트 핸들러를 추가하고 싶습니다.
작성 1:
table1row1.setAttribute("onclick", "selectrow1(this)");
IE8, Firefox 및 Google Chrome은 클릭 이벤트를 올바르게 트리거할 수 있습니다
IE6, 그러나 IE7은 클릭 이벤트를 트리거할 수 없습니다.
작성 2:
table2row1.onclick = function() { selectrow2(this) };
모든 테스트 브라우저는 클릭 이벤트를 트리거할 수 있습니다
따라서 다양한 IE에서 호환되도록 하기 위해 다음 명령문을 균일하게 사용할 수 있습니다.
table2row1.onclick = function() { selectrow2(this) };
2. getAttribute 문제
elementNode는...
먼저 setAttribute
table1row1.setAttribute("level", 1)로 속성을 설정합니다. ;
getAttribute를 사용하여 라벨의 속성 값을 가져옵니다.
var level = table1row1.getAttribute("level")
alert("table1row1 level:" level "rntypeof(level) = " (typeof( level) ).toString());
IE6 및 7에 표시
table1row1 level:1
typeof(level) = number
IE8, Firefox, google
table1row1 level:1
typeof(level) = string
은 이 두 가지 상황을 균일하게 처리하기 위해 Chrome에 표시되며, 코드는 다음과 같이 통일됩니다.
코드는 다음과 같습니다.
var level = table1row1.getAttribute("level"); if (level === undefined || level == null) { level = "0"; } level = level.toString(); if (level.trim() == "") { level = "0"; }
$addHandler(row,"click", function() { selectrow(this) });
코드는 다음과 같습니다.
Test table1
No. Item 1 2C.40E80.041 2 4L.013Y2.003
table2
No. Item 1 4G.0QE18.001 2 2K.61209.208
위는 다양한 browsers_javascript 기술에서 javascript setAttribute 및 getAttribute의 다양한 성능입니다. 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!