【问题标题】:having trouble selecting the clicked href无法选择单击的 href
【发布时间】:2017-03-19 01:49:57
【问题描述】:
<li class="treeview">
  <a href="#">
    <i class="fa fa-laptop"></i>
    <span>Configuration</span>
    <span class="pull-right-container">
      <i class="fa fa-angle-left pull-right"></i>
    </span>
  </a>
  <ul class="treeview-menu" style="display: none;">
    <li>
      <a href="/Home/General"><i class="fa fa-circle-o"></i> General</a>
    </li>
  </ul>
</li>

请帮助我选择点击的元素。我尝试了以下方法,但它不起作用。

 $("ul.treeview").click(function () {
    $(this).parent().addClass('active').siblings().removeClass('acive');
});

【问题讨论】:

  • 您的问题没有说明任何问题
  • 我认为你的意思是 ul.treeview-menu 在你的选择器中。 removeClass 中还有一个错字 -> active 拼写为 active
  • treeview is li class not ul 更好地检查 html 标记

标签: javascript jquery html jquery-selectors


【解决方案1】:

您将点击事件分配给了错误的元素。试试:

$("ul.treeview-menu").siblings().click(function (e) {
  $(this).find('a') // do whatever with it
});

这样你在菜单中选择&lt;a&gt;

【讨论】:

    【解决方案2】:

     $("li.treeview").click(function() {
       $(this).parent().addClass('active').siblings().removeClass('acive');
     });
    .active {
      background-color: red
    }
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <ul>
      <li class="treeview">
        <a href="#">
          <i class="fa fa-laptop"></i>
          <span>Configuration</span>
          <span class="pull-right-container">
                        <i class="fa fa-angle-left pull-right"></i>
                    </span>
        </a>
        <ul class="treeview-menu" style="display: none;">
          <li><a href="/Home/General"><i class="fa fa-circle-o"></i> General</a>
          </li>
          <li><a href="/Home/Test"><i class="fa fa-circle-o"></i> Test</a>
          </li>
        </ul>
      </li>
    </ul>

    检查这个

    【讨论】:

      【解决方案3】:

      如果您尝试在单击的列表项中选择 a 标签,您可以使用

      $("ul .treeview").click(function () {
        $("ul .treeview a").removeClass("active")
        var x = $(this).find('a');
        x.addClass("active")
      });
      

      【讨论】:

        【解决方案4】:

        试试下面可能有帮助的代码。

        $("ul .treeview").click(function () {
            $(this).siblings().removeClass('active');
            $(this).addClass('active');
        });
        

        删除所有同一级别li 的活动类并将活动类添加到单击的一个。

        【讨论】:

          猜你喜欢
          • 2023-03-27
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-01-07
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多