我在“listingThumb”类中有几个div。
CSS:
.listingThumb{
height:50px;
width:50px;
overflow:hidden;
}
Html:
<div class="listingThumb"><img src="mypic.jpg"></div>
我希望用户能够点击该div并在我添加的另一个类中添加一个边框.addClass()
.selectedThumb{
border:1px #f00 solid;
}
使用此功能:
$('.listingThumb').live('click',
function(){
$(this).addClass('selectedThumb');
}
);
一切都很好,花花公子。我的问题是,当用户点击另一个div时,我想要切换所选的div。所以,我对我的功能所做的是......
$('.listingThumb').live('click',
function(){
$('.listingThumb').removeClass('selectedThumb'); // <-- remove any instance of that class...
$(this).addClass('selectedThumb');
}
);
但是,我通过jquery添加'selectedThumb'的任何div都没有注册为拥有该类,因为它是动态添加的。
这是否有共同的解决方案?
由于 -J
答案 0 :(得分:2)
如果您正在寻找'selectedThumb',为什么不搜索它?
$('.selectedThumb').removeClass('selectedThumb');
答案 1 :(得分:1)
你所提供的内容没有错......
请参阅此处了解jsfiddle link
的工作原理答案 2 :(得分:0)
您可以尝试专门选择要删除的课程:
$('.listingThumb').live('click',
function(){
$('.selectedThumb').removeClass('selectedThumb');
$(this).addClass('selectedThumb');
}
);
虽然它确实不应该有所作为。如果您在通过listingThumb
选择时遇到问题,我会先检查拼写/大小写。
答案 3 :(得分:0)
您的代码应该可以使用,但这样可以确保删除该类的所有元素:
$('.listingThumb').live('click',
function(){
$('.selectedThumb').removeClass('selectedThumb'); // <-- remove any instance of that class...
$(this).addClass('selectedThumb');
}
);