我需要更改单击的元素,点击“选择”'这是我的html文件的一部分:
<div class="side-nav white-nav" id="sidenavblade">
<ul>
<span id="trigger-1" class="menu-trigger"><li>
<a href="<?php echo URL::to('/')."/initiatives" ?>" class="">
<span id="trigger-1" class="menu-trigger" >INITIATIVES <i class="icon initiatives"></i>
</a>
</li></span>....
还有10个&#39; li&#39;在班级&#39; side-nav&#39; 我需要将图标类更改为“已选中”图标。对于&#39; a&#39;点击了元素。 我的js:
var select=false;
t=document.getElementById('sidenavblade');
e=t.getElementsByTagName('a');
$(e).click(function(){
if(select==true){
$('.selected').removeClass('selected');
}
$(this).getElementsByClassName('icon ').addClass('selected');
select=true;
});
但是,&#39;这个&#39;出来是未定义的&#39;。如何更改我的函数以获取单击元素,而无需单独调用每个元素的函数。
答案 0 :(得分:3)
你没有明显的理由混合使用jQuery和本机DOM调用。这只是不起作用:
$(this).getElementsByClassName('icon ').addClass('selected');
但是,图书馆很容易:
$(this).find('.icon').addClass('selected');
DOM API返回一个NodeList,你不能像jQuery对象一样使用它。
类似地:
e=t.getElementsByTagName('a');
$(e)
可能工作,但我不确定;当然,编写
更简单$('a').click(function() {
// ...