2

所以我遇到的问题是我有这个Div“回复”,里面是一个h1标签,里面有隐藏这个词。Hide这个词被包裹在一个带有“Toggle”类的span标签中我有Jquery代码,它基本上说每次你点击Div它都会切换span标签中的隐藏文本以显示,当然如果你再次点击它会恢复正常,我遇到的问题是我有这些类的多个实例,并且它改变了其他类的文本。我想知道 jquery 中是否有一种方法可以只切换我点击的特定一个,同时保持所有其他类相同(因为我需要大量重用它们)。

jQuery

  $('.Reply').toggle (
    function()  { $("span.Toggle").html("Show");}
    ,function()  { $("span.Toggle").html("Hide");}
   );

HTML

<div class="Reply">
  <h1><span class="Toggle">Hide</span> This Text</h1>
</div>

<div class="Reply">
  <h1><span class="Toggle">Hide</span> This Text</h1>
</div>
4

1 回答 1

2

是的,this用作选择器中的上下文,因此它只会更改当前单击的 div 内的切换

$('.Reply').toggle( function () {
  $("span.Toggle", this).html("Show");
}, function () {
  $("span.Toggle", this).html("Hide");
});

上下文选择器的工作方式与find()完全相同

$(this).find("span.Toggle")

小提琴

于 2013-01-07T21:13:37.040 回答