【问题标题】:Open and Close Container (div)打开和关闭容器 (div)
【发布时间】:2017-06-14 04:29:49
【问题描述】:

我的 jQuery 早些工作,但最近我不得不在我的 HTML 中添加更多的 div。我正在尝试通过单击按钮replyButton 打开和关闭discussionContainer。任何帮助都会很棒。

我将通过 ng-click 在这里的replyButton 并通过 id 获取 http 请求以从我的数据库中获取内容,我可以在 Angularjs 中执行此操作吗?也许除了 jQuery 和 Angularjs 之外还有其他一些想法/建议?在页面加载时,discussionContainer 将被关闭。

$(document).on("click", ".replyButton", function() {
  $(this).parent('.forQuestions').find(".discussionContainer").slideToggle(300);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<li class="question">
  <div class="forQuestion">
    <div class="cardBody">
      {{answer.aContent}}
    </div>
    <div class="cardFooter">
      <div class="col-xs-4 footer1">
        <button class="replyButton">Reply</button>
      </div>
      <div class="col-xs-4 footer2">
        <i class="fa fa-trash" aria-hidden="true" ng-click="controller.deleteAnswer(answer._id)"></i>
        <i class="fa fa-pencil" aria-hidden="true" ng-click="controller.showEditAnswerModal(answer)"></i>
      </div>
      <div class="col-xs-4 footer3">
        {{answer.aDate | date: 'medium'}}
      </div>
    </div>
    <div class="discussionContainer">
      <ul>
        <li>comment1</li>
        <li>comment2</li>
      </ul>
      <div class="newComment">
        <textarea rows="2" cols="30" placeholder="New comment"></textarea>
        <button type="button" name="button">Comment</button>
      </div>
    </div>
  </div>
</li>

【问题讨论】:

    标签: jquery html css angularjs


    【解决方案1】:

    你的代码的问题是:

    1-- .parent() 只在 DOM 树上向上移动一层

    2--你没有类forQuestions的元素你的正确类是forQuestion,最后没有s..所以你需要使用.closest('.forQuestion')

    演示

    $(document).on("click", ".replyButton", function() {
      $(this).closest('.forQuestion').find(".discussionContainer").slideToggle(300);
    });
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <li class="question">
      <div class="forQuestion">
        <div class="cardBody">
          {{answer.aContent}}
        </div>
        <div class="cardFooter">
          <div class="col-xs-4 footer1">
            <button class="replyButton">Reply</button>
          </div>
          <div class="col-xs-4 footer2">
            <i class="fa fa-trash" aria-hidden="true" ng-click="controller.deleteAnswer(answer._id)"></i>
            <i class="fa fa-pencil" aria-hidden="true" ng-click="controller.showEditAnswerModal(answer)"></i>
          </div>
          <div class="col-xs-4 footer3">
            {{answer.aDate | date: 'medium'}}
          </div>
        </div>
        <div class="discussionContainer">
          <ul>
            <li>comment1</li>
            <li>comment2</li>
          </ul>
          <div class="newComment">
            <textarea rows="2" cols="30" placeholder="New comment"></textarea>
            <button type="button" name="button">Comment</button>
          </div>
        </div>
      </div>
    </li>

    【讨论】:

    • 谢谢,剩下的我能搞定。我不知道.parent 只上升了一层,那是愚蠢的,这是我错过的错误……对不起。但再次感谢您的指导
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-26
    • 2013-02-14
    • 2016-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多