更新现有的JQuery函数以替换" +"使用" - "点击

时间:2017-12-11 21:01:17

标签: javascript jquery

我有一个JQuery函数,用于在我的网站上为手风琴式Q / A制作动画。单击每个蓝色标题会导致答案文本扩展到视图中。

我想添加其他代码,以便点击问题标题可以转换" +"符号变成" - "符号(答案扩展)。当点击同一标题以折叠答案时,我希望同样的#34; - "成为" +"符号再一次。

有谁知道要添加什么来做到这一点?我目前的职能如下:

$(function(){$('.markdown-block .sqs-block-content h2')
    .css('cursor','pointer');

$(".markdown-block .sqs-block-content h2")
    .nextUntil("h2").slideToggle();

$(".markdown-block .sqs-block-content h2")
    .click(function(){$(this).nextUntil("h2").slideToggle()})});

与Markdown Block相关的HTML,为简洁省略了正文:

<div class="sqs-block markdown-block sqs-block-markdown" data-block-type="44" id="block-yui_3_17_2_6_1466641371234_7523"> = $0
  <div class="sqs-block-content">
    <h2 id="Q/A title" style="cursor: pointer;">_</h2> = $0
    <h2 id="Question-1" style="cursor: pointer;">+Question</h2> = $0
      <h3 id="answer-paragraph-1" style="display: none;">_</h3>
      <h3 id="answer-paragraph-2" style="display: none;">_</h3>
    <h2 id="Question-2" style="cursor: pointer;">+Question</h2> = $0
      <h3 id="answer-paragraph-1" style="display: none;">_</h3>
      <h3 id="answer-paragraph-2" style="display: none;">_</h3>
  </div>
</div>

这是以下每个问题的基本结构。

谢谢!

1 个答案:

答案 0 :(得分:1)

如果$(this).nextUntil("h2")指的是包含“+”的元素?只需添加点击功能,如:

$(".markdown-block .sqs-block-content h2").click(function(){
         $(this).nextUntil("h2").slideToggle();
         $(this).nextUntil("h2").text(($(this).nextUntil("h2").text() == "+Question"?"-Question":"+Question"));
        })});