面向对象的jQuery问题

MrS*_*nts 0 javascript jquery jquery-selectors

$("#e1").click(function() {
  $("#descriptions div").removeClass("show");
  $("#e1d").addClass("show");
});

$("#e2").click(function() {
  $("#descriptions div").removeClass("show");
  $("#e2d").addClass("show");
});


<div id="descriptions">

<div id="e1"></div>
<div id="e1d" class="description"></div>

<div id="e2"></div>
<div id="e2d" class="description"></div>

</div>
Run Code Online (Sandbox Code Playgroud)

我试图想办法不重复代码并让jQuery自动搜索和链接div.因此,将每个id与名称e1~∞链接到e1~∞d会很棒.不确定如何实现正确的面向对象方法.谢谢你的阅读!

DA.*_*DA. 7

给你的元素类,然后通过类名在jQuery中引用它们:

<div id="descriptions">

<div id="e1" class="trigger"></div>
<div id="e1d" class="description"></div>

<div id="e2" class="trigger"></div>
<div id="e2d" class="description"></div>

</div>


$(".trigger").click(function() {
      $('#descriptions>div').removeClass("show");
      $(this)
      .next("div.description")
      .addClass("show");
});
Run Code Online (Sandbox Code Playgroud)

所有这一切,看起来你想要显示/隐藏div.您可能希望查看jQuery的"切换".

  • 你的代码中有一个错误,因为removeClass("show")应该引用所有其他元素而不是$(this) (2认同)