起初,我试图在 jQuery、Ajax 和 PHP 中创建一个基本的 tcg。
下面的小提琴是我尝试将卡片附加到空白位置并更改数据属性值,但是当我单击卡片时,它会创建其他“卡片”并且值不会改变。
http://jsfiddle.net/bNB89/1/
我尝试用于数据更改的代码:
$(this).data('place', 'field');
我怎样才能解决这个问题?
起初,我试图在 jQuery、Ajax 和 PHP 中创建一个基本的 tcg。
下面的小提琴是我尝试将卡片附加到空白位置并更改数据属性值,但是当我单击卡片时,它会创建其他“卡片”并且值不会改变。
http://jsfiddle.net/bNB89/1/
我尝试用于数据更改的代码:
$(this).data('place', 'field');
我怎样才能解决这个问题?
您的代码中的问题是您append
在一个类中使用,因此内容是在包含该类的每个元素中创建的。相反,您应该获取该类的第一个元素,附加到它,然后删除该类,这样就不会再次选择它。我设置了一个小提琴来演示它http://jsfiddle.net/bNB89/2/
你会得到其他卡,因为有多个.myslot
元素,每一个都会得到一个副本。
使用一个选择器,它会给你一个要附加的项目。例如.myslot:empty:first
。
.data()
不改变数据属性,它使用自己的内部机制来存储数据。如果你真的想改变你可以使用的属性attr
。