2012-02-08 3 views
0

Попытка создать простой документ, который получает parentNode, затем применяет цвет фона. Мой getElementByTagName является «p», поэтому parentNode будет <body>. Цвет фона должен быть применен ко всему документу, не так ли? Я получаю ошибку «ожидаемый объект».Как получить parentNode

<!--purpose is to use parent node and change the background color--> 
<html> 
<body> 
<head> 
<script type="text/javascript" language="javascript"> 
function changeIt() { 
    var node; 
    node = document.getElementsByTagName("p").parentNode; 
    node.style.background-color = '#0033dd'; 
} 
</script> 
</head> 

<div id="teams"> 
    <h1>NFL Teams</h1> 

    <h2>NFC North</h2> 
    <p>Chicago Bears</p> 
    <p>Green Bay Packers</p> 
    <p>Minnesota Vikings</p> 
    <p>Detroit Lions</p> 

    <h2>NFC South</h2> 
    <p>New Orleans Saints</p> 
    <p>Atlanta Falcons</p> 
    <p>Carolina Panthers</p> 
    <p>Tampa Bay Buccannears</p> 

    <h2>NFC East</h2> 
    <p>Dallas Cowboys</p> 
    <p>Washington Redskins</p> 
    <p>Philadelphia Eagles</p> 
    <p>NY Giants</p> 

    <h2>NFC West</h2> 
    <p>San Francisco 49ers</p> 
    <p>Arizona Cardinals</p> 
    <p>Seattle Seahawks</p> 
    <p>St.Louis Rams</p> 
</div> 

<input type="button" value="change background color" onClick="changeIt()"> 

</body> 
</html> 

ответ

4

Цвет фона - проблема. Он обозначается как javascript как backgroundColor. На самом деле, я думаю, что все javascript-обозначения стиля css используют верблюдов в отличие от тире.

Кроме того, вам нужно будет выбрать позицию массива getElementsByTagName для javascript для получения родительского элемента. parentNode работает, получая родительский элемент определенного элемента. Не массив элементов.

function changeIt() { 
    var node; 
    node = document.getElementsByTagName("p")[0].parentNode; 
    node.style.backgroundColor = '#0033dd'; 
} 
Смежные вопросы