当前位置: 首页 > 知识库问答 >
问题:

如何使用jQuery在nav列表中将活动类添加到div中

尉迟晔
2023-03-14

我有三个分区作为导航表。我想在单击时将活动类添加到div中。下面是我的代码,但它不能正常工作。请帮我把它修好。

HTML

<div class="list">
    <div class="item" onclick="changeClass(this)">
        <center><i class="fas fa-user"></i><br>Students</center>
    </div>
    <div class="tabActive" onclick="changeClass(this)">
        <center><i class="fas fa-book"></i><br/>Lesson Plan</center>            
    </div>
    <div class="item" onclick="changeClass(this)">
        <center><i class="fas fa-cog"></i><br/>Settings</center>
    </div>
</div>

CSS

.item
{
    height: 60px;
    padding-top: 20px;
    background: #f8f9fa;        
}

.tabActive{
    background: #87ceeb69;
    border-left: 3px solid blue;
    height: 60px;
    padding-top: 20px;
}

JS

function changeClass() {
    var divsLenght = $(".list").children().length;
    for (var i = 0; i < divsLenght; i++) { 
        $('.list').children(i).toggleClass('tabActive item');
    } 
    $(this).addClass('tabActive');  
}

共有2个答案

班思源
2023-03-14

试试看:

HTML

<div class="list">
<div class="item" >
    <center><i class="fas fa-user"></i><br>Students</center>
</div>
<div class="item" >
    <center><i class="fas fa-book"></i><br/>Lesson Plan</center>            
</div>
<div class="item" >
    <center><i class="fas fa-cog"></i><br/>Settings</center>
</div>
$(document).ready(function(){
  $(".item").click(function(){
$('.item').removeClass('tabActive'); 
$(this).addClass('tabActive'); 
});
});
窦凯定
2023-03-14

更新了您的代码以实现jQuery的相同功能。

null

$(document).ready(function(){
  $('div.item').click(function(){
    $('.item').removeClass('tabActive');
    $(this).addClass('tabActive');
  });
});
.item
{
    height: 60px;
    padding-top: 20px;
    background: #f8f9fa;        
}

.tabActive{
    background: #87ceeb69;
    border-left: 3px solid blue;
    height: 60px;
    padding-top: 20px;
}
html prettyprint-override"><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="list">
    <div class="item">
        <center><i class="fas fa-user"></i><br>Students</center>
    </div>
    <div class="item tabActive">
        <center><i class="fas fa-book"></i><br/>Lesson Plan</center>            
    </div>
    <div class="item">
        <center><i class="fas fa-cog"></i><br/>Settings</center>
    </div>
</div>
 类似资料:
  • 我是javascript语言的新手,而且我被我的代码卡住了,对如何解决我的问题没有任何想法,而且如果我不能解释问题,我提前表示歉意。 您可以找到我的app.js文件,我创建了一个页面部分的动态列表,但我尝试了很多方法,并观看了很多教程,介绍如何将一个活动类添加到所需列表中,它的具有与视口中显示的部分相同的数据导航 null null

  • 问题内容: 我正在尝试在MVC中向我的引导导航栏添加“活动”类,但是在编写时,以下内容未显示活动类: 这可以解决看起来像格式正确的类,但是不起作用: 在Bootstrap文档中,它指出不应在导航栏中使用“a”标签,但是我认为以上是将类添加到Html.ActionLink的正确方法。我还有另一种(整洁)的方式可以做到这一点吗? 问题答案: 在Bootstrap中,需要将类应用于元素,而不是。 基于活

  • 当用户在基于URL的子页面中时,我需要突出显示父nav项。 用户当前在foo1-child页面上,而父级是foo1,因此我需要将活动类添加到foo1: 在nav中添加活动类没有问题,因为我只是比较中的每个href与URL之间的关系,但是如何检查URL中匹配的锚链接名称或类似的内容呢?

  • 问题内容: 在我的json响应中,我想使用$ .each遍历它,然后将项目附加到元素。 我想添加一个 ,并创建一个链接到用户页面的href标签。 问题答案: 最有效的方法是创建一个数组并将其附加到dom一次。 您可以通过丢失字符串中的所有字符串concat使它变得更好。要么多次推送到数组,要么使用+ =构建字符串,然后推送,但是对于某些人来说,读取起来会有点困难。 同样,您也可以将所有项目包装在一

  • 我的目标是从用户输入的“AM”-“PM”字符串格式打印包含24小时十进制格式的进入和退出时间的列表,如以下字符串数组:{6AM#8AM,11AM#1PM,7AM#8PM,7AM#8AM,10AM#12PM,12PM#4PM,1PM#4PM,8AM#9AM} 我在for循环中声明了各个列表,并在循环中为它们赋值,但从代码中得到了以下运行时异常:java。lang.IndexOutOfBoundsEx

  • 问题内容: 我试图做到这一点,所以当我单击HTML页面中的链接时,它会动态地将请求的页面加载到jQuery的div中。 我怎样才能做到这一点? 问题答案: 那里有一个叫做pjax的jQuery插件,它指出:“它是带有真正的永久链接,页面标题和完全退化的后退按钮的ajax。” 该插件使用HTML5 pushState和AJAX来动态更改页面,而无需完全加载。如果不支持pushState,则PJAX将