我有一个 Jquery 函数,它执行如下图所示的事情
1.我有一个div,在一页中列出所有产品,有兴趣的人可以选择打勾或打叉。
2.单击 Image1 中的十字会更改 div,如图 2 所示(即)将显示不感兴趣,并且仅在符号中出现勾号
3.单击 Image2 中的勾号 它应该使 div 与 Image 1 中的一样(即)我感兴趣的将显示出来,并且交叉只会出现在符号中
我创建了 4 个单独的图像并编写了如下的类
.CrossMe
{
background : url(CrossMe.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 51px;
}
.TickMe
{
background : url(TickMe.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 49px;
}
.NotInterested
{
background : url(NotInterested.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 241px;
}
.Interested
{
background : url(IamInterested.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 243px;
}
和 Jquery 改变类如下
$('document').ready(function(){
$('.CrossMe').click(function(){
$(this).prev().attr('class', 'TickMe');
$(this).toggleClass('NotInterested');
$(this).prev().click(function(){
$(this).next().attr('class', 'CrossMe');
$(this).toggleClass('Interested');
});
});
$('.TickMe').click(function(){
$(this).next().attr('class', 'CrossMe');
$(this).toggleClass('Interested');
$(this).next().click(function(){
$(this).next().attr('class', 'TickMe');
$(this).toggleClass('NotInterested');
});
});
});
和 HTML 如下
<pre>
<div class="Interested"></div>
<div class="CrossMe"></div>
</pre>
现在我的代码只工作一次,之后它工作但不像我预期的那样工作。
有人可以帮我解决这个问题吗
请不要使用 ID,因为我将在同一页面上显示多个包含产品的 div
提前致谢
我在下面粘贴了整个 HTML 代码
<pre>
<style>
.CrossMe
{
background : url(CrossMe.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 51px;
}
.TickMe
{
background : url(TickMe.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 49px;
}
.NotInterested
{
background : url(NotInterested.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 241px;
}
.Interested
{
background : url(IamInterested.gif) no-repeat;
cursor : pointer;
float : left;
height : 44px;
width : 243px;
}
.Button
{
cursor : pointer;
}
</style>
<script>
$('document').ready(function(){
$('.CrossMe').click(function(){
$(this).prev().attr('class', 'TickMe');
$(this).toggleClass('NotInterested');
$(this).prev().click(function(){
$(this).next().attr('class', 'CrossMe');
$(this).toggleClass('Interested');
});
});
$('.TickMe').click(function(){
$(this).next().attr('class', 'CrossMe');
$(this).toggleClass('Interested');
$(this).next().click(function(){
$(this).prev().attr('class', 'TickMe');
$(this).toggleClass('NotInterested');
});
});
});
</script>
<div class="Interested"></div>
<div class="CrossMe"></div>
</pre>