2014-04-24 3 views
1

pop() 메서드가 작동하지 않습니까? 나는document.links 배열에서 배열 메서드를 사용하는 방법?

Uncaught TypeError: undefined is not a function 

는 어떻게 제거하거나 요소를 추가 문서 링크 배열 방법을 사용할 수 있습니다이 오류가? 감사

document.links이 HTMLCollection 아닌 간단한 배열을 반환하기 때문에입니다
<!doctype html> 
<html> 
<head> 
<meta charset="UTF-8"> 
</head> 
<body> 
<div> 
<nav class="mainNav" id="mainNav"> 
<ul> 
<li><a href="http://en.wikipedia.org/wiki/New-age_music" title="New Age" target="_blank" > New Age </a> 
<ul class=subNav> 
<li><a href="DevaPremal.html" title="Deva Premal" target="_blank"> Deva Premal</a></li> 
<li><a href="http://www.karuneshmusic.com/" title="Karunesh" target="_blank">Karunesh</a></li> 
<li><a href="http://www.luboistok.ru/" title="Oles" target="_blank">Oles</a></li> 
</ul> 
</li> 

<script type="text/javascript"> 
function addLinks() 
{ 
    var allLinksArray = document.links; 
    var singersArray = allLinksArray.pop(); 
    console.log(allLinksArray.length); 
    console.log(singersArray.length); 
} 

addLinks(); 
</script> 
</body> 
</html> 

답변

1

.
그래서 HTMLCollection을 실제 배열로 변환해야합니다.

이 작업을 수행하는 방법에 대한 설명은 here입니다.

당신이 필요합니다

var allLinksArray = Array.prototype.slice.call(document.links); 

모두 당신을 위해 - 심지어 jsfiddle에 코드를 작업)

+1

또는 짧은'[] .slice.call (document.links)' – Oriol

+0

오른쪽 만에' 배열'그것은 이해하기가 더 쉽습니다 :) – Andron

+0

위대한. 도와 주셔서 감사합니다 –

관련 문제