Javascript 元素定位

标签 javascript jquery

首先,我的 JavaScript 技能大约为零,所以这可能很简单:)

我有一个包含许多幻灯片的 js 轮播,每张幻灯片都有两个 div,您可以通过单击上面的两个导航选项卡(“查看”和“阅读”)在它们之间进行更改(显示/隐藏),并且每张幻灯片有这些导航选项卡。除了一个烦人的细节之外,一切都运行良好。每个导航选项卡都有一个动态 js 生成的事件类来指示当前哪个导航选项卡处于事件状态。但当前的脚本同时针对每张幻灯片上的所有导航选项卡,而不仅仅是我当前正在查看的导航选项卡。因此,我只想删除与我单击的其他选项卡位于同一元素内的选项卡的事件类。

这是 html:

<div class="big-container" id="slide1">
<!-- The tabs -->
    <div class="nav-tabs">
        <span class="nav-tab active">
            <a href="#thumbs">View</a>
        </span>
        <span class="nav-tab">
            <a href="#info">Read</a>
        </span>
    </div>
<!-- The div with info text -->                 
    <div class="project-info hide" id="info">
        Here goes some text
    </div>
<!-- The div with images -->
    <div class="img-thumbs" id="thumbs">
        <img src="some-image.png" />
    </div>
</div>

这是脚本:

$(document).ready(function() {
    $('.nav-tab > a').click(function(event){
    event.preventDefault();//stop browser to take action for clicked anchor
 
    //get displaying tab content jQuery selector
    var active_tab_selector = $('span.active > a').attr('href');                    
 
    //find actived navigation and remove 'active' css
    var actived_nav = $('.nav-tabs > span.active');
    actived_nav.removeClass('active');
 
    //add 'active' css into clicked navigation
    $(this).parents('span').addClass('active');
 
    //hide displaying tab content
    $(active_tab_selector).removeClass('active');
    $(active_tab_selector).addClass('hide');
 
    //show target tab content
    var target_tab_selector = $(this).attr('href');
    $(target_tab_selector).removeClass('hide');
    $(target_tab_selector).addClass('active');
     });
  });

最佳答案

你可能想要类似的东西

$(this).parents('.nav-tabs').find('.active').removeClass('active');

哪里

$(this).parents('.nav-tabs')

向上找到您所在的.nav-tabs,然后

.find('.active').removeClass('active');

向下查找任何 .active 并将其删除。

关于Javascript 元素定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22129222/

相关文章:

javascript - 如何执行 Mongoose 验证功能仅用于创建用户页面而不编辑用户页面?

javascript - 设置文本框输入的占位符[type ="password"]

javascript - 读取文本文件并显示在网页中

javascript - 将 json 数据获取到数组 angular2 中

javascript - 折叠表格适用于页面上的所有表格

javascript - 这里在 javascript 模态窗口中映射 API

php - 确认不起作用时替换上传的文档

javascript - Jquery 加载不执行任何操作

javascript - WebRTC 不可用

javascript - 将 javascript 数组连接为数组的数组