JavaScript изменить цвет div со ссылкой - PullRequest
0 голосов
/ 10 января 2012

Это кажется действительно простым, но я новичок в 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 не определен, и это то, где я запутался.

Ответы [ 2 ]

2 голосов
/ 10 января 2012

Заменить

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

с

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

, поскольку getElementsByName возвращает массив

1 голос
/ 10 января 2012

getElementsByName возвращает список (следовательно, "... Элементы ...", а не "... Элемент ...").Списки не имеют parentNodes.

Либо используйте getElementById для ссылки на отдельный элемент с заданным идентификатором, либо перебирайте список, возвращаемый getElementsByName, пока не найдете нужный элемент.

...