我正在尝试从元素中删除一个类属性,并将该类添加到另一个元素中。 我成功删除了这个类,但是在将该类附加到另一个元素时遇到了问题。
当我点击“查看全部”链接时,
<a class="code_link" id="viewAllMyForms" href="#" >View All</a>
调用此函数。我想从li元素“home”中删除“selected”类,并将其添加到myForms的li元素中。
$('#viewAllMyForms').click(function(){
$('#tabber_module').find(".selected").removeClass();
$('#tabber_module #myForms li').addClass("selected");
});
<div class="tabber_module" id="tabber_module">
<ul class="horizontal_navigation child2">
<li class="first some_li selected" id="home">
<a href="#" id="home">Home</a>
</li>
<li class="some_li" id="notifications">
<a href="#" id="notifications">Notifications</a>
</li>
<li class="some_li" id="myForms">
<a href="#" id="myForms" >My Forms</a>
</li>
<li class="some_li" id="reviewForms">
<a href="#" id="reviewForms">Forms For My Review</a>
</li>
<li class="some_li" id="otherForms">
<a href="#" id="otherForms">Other Forms</a>
</li>
</ul>
</div>
从“home”li元素中删除“selected”类,但不将其添加到“myForms”li元素中。
答案 0 :(得分:4)
你的LI元素有id,你只需要使用#id选择器:
$('#viewAllMyForms').click(function(){
$("#tabber_module .selected").removeClass("selected");
$("#myForms").addClass("selected");
});
注意: DOM元素的id属性应该是唯一标识符,你复制了LI和A元素的id,你应该在文档中只使用一次ID。
我会改写你的标记:
<div class="tabber_module" id="tabber_module">
<ul class="horizontal_navigation child2">
<li class="first some_li selected" id="home">
<a href="#">Home</a>
</li>
<li class="some_li" id="notifications">
<a href="#">Notifications</a>
</li>
<li class="some_li" id="myForms">
<a href="#">My Forms</a>
</li>
<li class="some_li" id="reviewForms">
<a href="#">Forms For My Review</a>
</li>
<li class="some_li" id="otherForms">
<a href="#">Other Forms</a>
</li>
</ul>
</div>
请注意,我从锚元素中删除了重复的ID属性,但是如果要选择锚,则可以不使用特定ID,例如:
$('#notifications a') // selects the element <a href="#">Notifications</a>