javascript - 单击和加载文档时添加/删除类

标签 javascript jquery html css

我有 2 行 html。

一行包含纯 html,另一行包含 ul li 列表。

第一种情况:

在页面加载时,我想根据激活的 li 更改第一行的文本颜色。

第二种情况

单击第二行中的任何 li 时,我想根据我在第二行中单击的数据更改第一行 html 的颜色。

我的代码

第一行

<div class="horizontal-link">
    <div class="test">
         <h4 data-id="1">Text 1</h4> <!--So on page load I would like to change the color to red as related with row 2 ul li) -->

    </div>
    <div class="test">
         <h4 data-id="2">Text 2</h4>

    </div>
</div>

第二行

<ul>
    <li class="tab active" data-id="1">Text 1</li>
    <li class="tab" data-id="2">Text 2</li>
</ul>

我已经尝试并创建了一个 jsfiddle作为演示:

非常感谢任何帮助。提前致谢。

最佳答案

您可以使用 .filter()attribute-selectors像这样检查数据 ID

jQuery

$(function(){
    //Adds class on load depending on which is active
    $('.test h4[data-id="'+$('ul li.active').data('id')+'"]').addClass('active');
    //Adds class on click
    $('li.tab').on('click',function(){
        $('.test h4').removeClass('active');
        $that = $(this);
        $('.test h4').filter(function(){
            return $(this).data('id')==$that.data('id')
        }).addClass('active');
    //removes class on clickable li and adds to clicked
    $(this).addClass('active').siblings().removeClass('active');
    });
});

CSS

.test h4.active {
    color:red;
}

您需要更改 css,以便它检查 h4 类是否处于事件状态

DEMO

关于javascript - 单击和加载文档时添加/删除类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26361896/

相关文章:

javascript - jQuery 验证忽略规则

jquery - Rails 中的就地编辑 X-editable 没有路由匹配 [POST]

javascript - div 可见性不断切换

javascript - Cookie 未使用 jquery 正确删除

javascript - 数据表标题对齐调整

javascript - Protractor 数据驱动 - 当我尝试打印 JSON 文件时显示 'undefined'

javascript - Angular 2 (click) 和 (dblclick) 在同一个元素上效果不佳?

javascript - 隐藏 div 后允许在按钮单击时重新显示

jquery - html5 的文件 api 示例与 jquery?

javascript - 如何使用 JavaScript 使每个 div 的高度相等?