2012-01-10 83 views
0

这看起来很简单,但是Im是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

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

萤火告诉我document.getElementsByName(亮点).parentNode是不确定的,这是我很困惑。

+1

也许尝试document.getElementByID(“abcd”) – ToddBFisher 2012-01-10 15:04:50

+1

尝试document.getElementsByName(highlight)[0] – 2012-01-10 15:06:50

回答

2

替换

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

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

因为getElementsByName返回一个数组

+1

这也适用。我给你正确的答案,因为使用你的方法,我不必添加额外的ID给我的标签。 – 2012-01-10 15:25:46