2017-12-16 9 views
0

私は非常に単純に、要素.page-item-39 aにJavascriptを使用してクラスを追加しようとしていますが、 "Uncaught TypeError:未定義のclassName 'プロパティを読み込めません。これの理由?最初の子にクラスを追加する - Javascript

var menuItem = document.getElementsByClassName('page-item-39'); 
 
    var menuLink = menuItem.firstChild; 
 
    console.log(menuLink); 
 
    menuLink.className += ' menu-item-active';
.menu-item-active { 
 
    border: 1px red solid; 
 
}
<li class="page_item page-item-39"> 
 
    <a>Classes</a> 
 
</li>

+0

あなただけのCSS psudoのselecor '使用することができます'(1)n番目の子を。 Aka: 'page-item-39>:nth-​​child(1)' – Olian04

+0

これを* first * '.page-item-39 a'要素に追加したい場合は、' document.querySelector( "page-itemすべての '.page-item-39 a'要素に追加したい場合は、' getElementsByClassName 'によって返されたリストをループする必要があります'(または' querySelectorAll'、これは '.page-item-39'内の' a 'を望むように、おそらくもっと意味があります)。 –

答えて

0

のmenuItemの使用[0]の代わりfirstChild

var menuItem = document.getElementsByClassName('page-item-39'); 
 
    var menuLink = menuItem[0]; 
 
    console.log(menuLink); 
 
    menuLink.className += ' menu-item-active';
.menu-item-active { 
 
    border: 1px red solid; 
 
}
<li class="page_item page-item-39"> 
 
    <a>Classes</a> 
 
</li>

関連する問題