jquery 将第一个链接标记为在菜单中处于事件状态

标签 jquery html css

我想做的是将菜单中的第一个链接标记为事件链接,或者更准确地说,我需要它具有特定的 css 设置。如果我不使用 jquery 在我单击每个链接时将这些 css 设置添加到每个链接(简单菜单 = 当您单击时,它会改变颜色,...),这对我来说会很容易。所以我需要在 css 中标记的第一个链接(如您在代码中看到的那样...),当我单击其他菜单链接时,第一个链接进入正常的 css 设置。这是我的代码,我欢迎任何建议。

编辑:顺便说一句,第一个链接也标有 rel="sl1"...如果它对解决方案有用...

 $(document).ready(function()
                {

                    //prvy odkaz musi byt uz oznaceny pri nacitani stranky
                    $('#menu-vertikal li:first-of-type').addClass('aktivny-link');
                      $('#menu-vertikal li a').click(function () {
                      $('#menu-vertikal li.aktivny-link').removeClass('aktivny-link');
                      $('#menu-vertikal li').eq($(this).parent().index()).addClass('aktivny-link');

                    }); 



                    //zaciatok prepinania obsahu

                    $('#menu-vertikal ul a').on('click', function(){
                           var target = $(this).attr('rel');
                           $("#"+target).show().siblings("div").hide();
                        });
                });

最佳答案

使用您为事件菜单选择的属性创建一个 css block ,然后使用 jQuery .addClass 来应用它。

$(document).ready(function() {

  $('li:first-of-type').addClass('current');
  $('li a').click(function() {
    $('li.current').removeClass('current');
    $('.content:visible').hide();
    $('.content').eq($(this).parent().index()).show();
    $('li').eq($(this).parent().index()).addClass('current');

  });

});
.current a {
  color: green;
}
.content {
  width: 100%;
  color: red;
  font-size: 36px;
  font-weight: bold;
  font-family: calibri;
  text-align: center;
}
.content:not(:first-of-type) {
  display: none;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<ul>
  <li><a href="#">Home</a>
  </li>
  <li><a href="#">About</a>
  </li>
  <li><a href="#">Contact</a>
  </li>
  <li><a href="#">Blog</a>
  </li>
</ul>

<div class="content">Content one</div>
<div class="content">Content two</div>
<div class="content">Content three</div>
<div class="content">Content four</div>

注意:我建议使用 .addClass,因为它添加了一个预定义的类,而不是像 .css 那样添加内联 css,并且在以下情况下这是不可取的你添加了很多属性。

关于jquery 将第一个链接标记为在菜单中处于事件状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28507241/

相关文章:

javascript - JQuery 对话框在升级到 Bootstrap 4 时不显示内容

javascript - 将鼠标悬停在 li 上时更改 div 的颜色

javascript - 仍然对 jQuery 中的事件和事件处理程序感到困惑

javascript - 如何在div之间创建一个中断

ios - iPhone X 上的 WKWebView 页面高度问题

javascript - 意外的 JS/jQuery 循环行为

javascript - 使用javascript更改css中的动画属性

html - 媒体查询停止工作

JavaScript onClick 添加类

css - 变换 : scaleX() seems to change element's height