2012-01-10 3 views
0

이것은 정말 간단하지만 JavaScript의 새로운 기능입니다. 내 페이지에 링크가 있습니다. 이 링크를 클릭하면 2 가지 일이 발생합니다. 1) html을 사용하면 페이지가 참조 된 앵커 태그의 위치로 이동합니다. 2) 링크를 보유하고있는 div가 배경색을 변경합니다.링크 변경 사항이있는 JavaScript의 div 변경 색상

HTML

<a href="#abcd" onclick="makeRed(this.href);">Link to div on page</a> 

<div id="abcd"> 
    <a name="abcd">Not a clickable link.</a> 
</div> 

JS 방화범이 .parentNode이 정의되지 내가 혼란 스러워요 곳이 나를 document.getElementsByName (강조)를 알려줍니다

function makeRed(x) { 
var highlight=x.slice(-4); 
document.getElementsByName(highlight).parentNode.style.backgroundColor="red"; 
} 

.

+1

아마도 document.getElementByID ("abcd")를 시도하십시오. – ToddBFisher

+1

try document.getElementsByName (highlight) [0] –

답변

1

getElementsByName는 따라서 (목록을 반환 배열을 돌려 보낸

document.getElementsByName(highlight)[0].parentNode.style.backgroundColor="red";

바꾸기보다는 ...요소..."). 목록에는 parentNodes가 없습니다.

주어진 id를 가진 단일 요소를 참조하려면 getElementById을 사용하고, 찾고자하는 정확한 요소를 찾을 때까지 getElementsByName이 반환하는 목록을 반복합니다.