>웹 프론트엔드 >JS 튜토리얼 >IE_javascript 기술의 innerHTML 및 getElementsByName 버그에 대한 솔루션

IE_javascript 기술의 innerHTML 및 getElementsByName 버그에 대한 솔루션

WBOY
WBOY원래의
2016-05-16 18:30:111027검색

예를 들어 이런 문제가 있습니다.

코드 복사 코드는 다음과 같습니다.



이 div에 재생목록을 추가하세요. 이 목록은 innerHTML을 사용하여 추가됩니다.
코드 복사 코드는 다음과 같습니다.

var plst = null
plst; = player.getPlaylist();
if (plst) {
var txt = ''
for(var i in plst) {
txt = '
';
txt = '
재생 중...
'
txt = '';
txt = '

' plst[i].title ' var obj= document.getElementById("playlist")
if (obj) {
obj.innerHTML = txt;
}
}


중간 복잡한 코드는 걱정하지 않아도 됩니다. 이제 Playing이라는 div를 꺼내보겠습니다.

getElementsByName
을 사용한다고 생각하기 쉽지만, 매우 이상한 점은 IE에서는 얻을 수 없다는 것입니다. getElementById는 완벽하게 작동합니다.
다음은 좋은 해결책입니다.


function GetElementsByName(태그, 이름) {
var elem = document.getElementsByTagName(tag);
var arr = [];
var index = 0;
for(var i = 0; i < l; i )
{
var att = elem[i].getAttribute("name")
if(att == name) {
arr[index] = elem[i];
}
}
return arr
}


이 기능으로 변경되어 얻을 수 있습니다. 매개변수가 하나만 더 필요합니다.
블로거에게 다른 솔루션이 있는지 모르겠습니다. 이 솔루션은 완벽하지 않습니다. 댓글로 꼭 메시지를 남겨주세요.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.