这似乎很简单,但是Im对JavaScript是全新的。我的页面上有一个链接。当您单击此链接2会发生。 1)使用html,页面跳至页面上引用的锚标签的位置。 2)包含链接的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";
}


Firebug告诉我document.getElementsByName(highlight).parentNode是未定义的,这是我感到困惑的地方。

最佳答案

更换

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




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

因为getElementsByName返回一个数组

10-06 03:44