2012-01-10 14 views
0

これは本当にシンプルですが、JavaScriptにはまったく新しいものです。私のページにはリンクがあります。このリンクをクリックすると2つのことが起こります。 1)htmlを使用すると、ページは、ページ上の参照されたアンカータグの位置にジャンプします。 2)リンクを保持するdivは、背景色を変更します。JavaScriptを変更するとリンク先の色が変化する

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

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

Firebugのはdocument.getElementsByName(ハイライト).parentNodeが定義されていないと私は混乱しているところ、これは私に語りました。

+1

多分try document.getElementByID( "abcd") – ToddBFisher

+1

try document.getElementsByName(highlight)[0] –

答えて

1

getElementsByNameが故に(リストを返す配列を返すため

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

に置き換えではなく、 ...素子...")。リストにはparentNodesがありません。

getElementByIdを使用して、指定されたidを持つ単一の要素を参照するか、探している要素を見つけるまでgetElementsByNameによって返されたリストを反復処理します。

関連する問題