您好我正在尝试在单击p标签时更改p标签的文本。目前它的工作原理我有以下HTML和jQuery
<p class='tile' data-default="Measurable" data-clicked="Some text blah blah." style="text-align: center;">Measurable</p>
<p class='tile' data-default="Unique and
own-able" data-clicked="Some text blah blah." style="text-align: center;">Unique and
own-able</p>
$('.tile').click(function(e) { // when the tile is clicked
$('.tile').not(this).text($(not(this).attr('data-default'))); // Except the clicked tile all are restored to default data
$(this).text($(this).attr('data-clicked')); // The clicked tile gets the replacer text
});
当我点击第一个p标签时,它会更改文本,但第二个p标签的默认文本会更改为Measureable。我理解它是如何出错的,因为它获取了data-default的click p标签实例并将其放在第二个实例中。 我试图更改代码来修复它,但我最终破坏了它。
答案 0 :(得分:3)
您可以使用.text(function)
将文字设置为相应的data-default
:
$('.tile').not(this).text(function() {
return $(this).data('default');
});