0
클릭 후 두 개의 li 항목에 대한 클래스를 제거하고 다른 li 항목에 클래스를 추가하는 스크립트를 만들고 싶습니다. .className 메서드를 사용했지만 부분적으로 만 작동합니다. 내가 한 번 리 항목을 클릭 한 후, 리 항목의 하나가 사라지고 난 오류가자바 스크립트가 부분적으로 만 작동합니다.
function changeClass(){
var elements = document.getElementsByClassName('tbh');
for (var i = 0, len = elements.length; i <=len; i++) {
elements[i].className='hidden';
console.log('aaa');
}
}
:
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="tbh lista">
<a href="#"><img src="images/facebook.png"></a>
</li>
<li class="tbh lista">
<a href="#"><img src="images/mail.png"></a>
</li>
<li class="lista">
<a href="#" onclick="changeClass()" id="phone"><img src="images/phone.png"></a>
</li>
<li class="lista hidden">
<p>text</p>
</li>
</ul>
</div>
이
는 스크립트입니다. 제대로 작동하려면 두 번 클릭해야합니다. 오류를 찾을 수 없습니다. 다음은 console.log에 표시됩니다.aaa Uncaught TypeError: Cannot set property 'className' of undefined
에 문자열
을 변경'<=은'범인이 될 것으로 보인다. – Knu
나는 그것을 여전히 수정했다. –
comsole.log (i)를 추가하고 누락 된 요소를 확인하십시오. –