如何获取要显示的另一个元素的文本

时间:2015-11-19 11:03:23

标签: javascript jquery html

您好我正在尝试在单击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标签实例并将其放在第二个实例中。 我试图更改代码来修复它,但我最终破坏了它。

1 个答案:

答案 0 :(得分:3)

您可以使用.text(function)将文字设置为相应的data-default

$('.tile').not(this).text(function() {
  return $(this).data('default');
});

Here's a fiddle