[英]Jquery add and remove class to a div placed inside a li
i wanna add and remove class to a div placed inside a li, and when i click another li ineed to remove rightshapeactive class from the activated div 我想向放置在li内的div添加和删除类,当我单击另一个liine来从激活的div中删除rightshapeactive类时
<ul id="servicesleft">
<li class="left1">
<span>Lorem ipsum</span>
<div id="rightshape" class="t"></div>
</li>
<li class="left1">
<span>Lorem ipsum</span>
<div id="rightshape" class="t"></div>
</li>
<li class="left1">
<span>Lorem ipsum</span>
<div id="rightshape" class="t"></div>
</li>
</ul>
jQuery(document).ready(function() {
$('#servicesleft').delegate('li', 'click', function() {
$(this).find('#rightshape').addClass('rightshapeactive').siblings().removeClass('rightshapeactive');
});
});
This should work. 这应该工作。 After .find('#rightshape')
, the selection is referring to the div
, and not the li
. 在.find('#rightshape')
,选择是指div
,而不是li
。 .end
returns you to the previous selection. .end
使您返回上一个选择。
jQuery(document).ready(function() {
$('#servicesleft').delegate('li', 'click', function() {
$(this).find('#rightshape')
.addClass('rightshapeactive')
.end()
.siblings()
.find('#rightshape')
.removeClass('rightshapeactive');
});
});
This might be even better: 这可能更好:
jQuery(document).ready(function() {
$('#servicesleft').delegate('li', 'click', function() {
$('.rightshapeactive').removeClass('rightshapeactive');
$('#rightshape', this).addClass('rightshapeactive');
});
});
Using the class "t" instead: http://jsfiddle.net/m27ra/ 改用类“ t”: http : //jsfiddle.net/m27ra/
jQuery(document).ready(function() {
$('#servicesleft').delegate('li', 'click', function() {
$(this).parent().find('.t').removeClass('rightshapeactive');
$(this).find('.t').addClass('rightshapeactive');
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.