如何选择点击的内容?

时间:2018-04-30 06:48:32

标签: python jquery html django

如何选择点击的内容?现在,当我点击按钮时,我正在创建一个系统,数据显示在nav标签中。 我在views.py

中编写了代码
override fun onBackPressed() {
val pop = childFragmentManager.popBackStackImmediate()
if (!pop){
  super.onBackPressed()
}

当我点击一个按钮时,所有数据都显示在index.html的nav标签中。我想在nav标签中只显示点击的数据。我想我编写了代码,但我的代码有什么问题?我应该怎么做?解决这个问题?

class TopView(TemplateView):
    model = Data
    template_name = 'index.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['data'] = Data.objects.all()
        return context

2 个答案:

答案 0 :(得分:0)

看到渲染的HTML后,您需要执行以下操作: -

$(document).ready(function(){
  $('nav h4, nav p').hide();
  $('.btn_menu').click(function(){
    var obj = $(this);
    $('nav h4, nav p').hide();
    $('h4, p').each(function(){
      if($.trim($(this).text().toLowerCase()) == $.trim(obj.text().toLowerCase())){
        $(this).show();
      }
    });
  });
});

工作代码段: -



$(document).ready(function(){
  $('nav h4, nav p').hide();
  $('.btn_menu').click(function(){
    var obj = $(this);
    $('nav h4, nav p').hide();
    $('h4, p').each(function(){
      if($.trim($(this).text().toLowerCase()) == $.trim(obj.text().toLowerCase())){
        $(this).show();
      }
    });
  });
});

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section id="center">
  <button type="button" class="btn_menu">
      AAA
  </button>
  <button type="button" class="btn_menu">
      BBB
  </button>
  <button type="button" class="btn_menu">
      CCC
  </button>

</section>

<nav>
<h2>HOMEPAGE</h2>
<!---->
  <h4>AAA</h4>
  <p>aaa</p>
<!---->
  <h4>BBB</h4>
  <p>bbb</p>
<!---->
  <h4>CCC</h4>
  <p>ccc</p>
<!---->
</nav>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

问题出在这一行$(this).next('nav').toggleClass('open'); next()用于查找直接兄弟姐妹。

要解决此问题,您应该使用

$('nav').toggleClass('open'); 

另外,您需要重构代码,在</body>之前在头部或正文(首选)中加载js / jquery。