질문:
아래 코드는 인터넷에서 오류를 발생시킵니다. Explorer 6, 7 및 8:
var borderTds = document.getElementsByClassName('leftborder');
문제:
IE6, IE7 및 IE8과 같은 기존 Internet Explorer 브라우저는 기본적으로 getElementsByClassName()을 지원하지 않습니다. 방법. 이 방법은 클래스 속성을 기반으로 요소를 선택하는 데 사용됩니다.
해결책:
이 문제를 해결하려면 다음 해결 방법을 사용하여 getElementsByClassName()을 에뮬레이트할 수 있습니다. 다음 브라우저의 기능:
document.getElementsByClassName = function(cl) { var retnode = []; var elem = this.getElementsByTagName('*'); for (var i = 0; i < elem.length; i++) { if((' ' + elem[i].className + ' ').indexOf(' ' + cl + ' ') > -1) retnode.push(elem[i]); } return retnode; };
구현:
var borderTds = document.getElementsByClassName('leftborder');
이점:
이 해결 방법을 사용하면 클래스별로 요소를 선택할 수 있습니다. jQuery와 같은 외부 라이브러리에 의존하지 않고 기존 Internet Explorer 브라우저를 사용할 수 있습니다.
위 내용은 레거시 Internet Explorer 브라우저에서 getElementsByClassName() 문제를 극복하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!