【问题标题】:Apply CSS class to element "A" when element "B" has a cetain class当元素“B”具有特定类时,将 CSS 类应用于元素“A”
【发布时间】:2013-02-20 18:51:42
【问题描述】:

我在一个页面上有两个完全独立的 DIV 元素。仅当 div B 具有“标记”类时,我才希望 div A 具有“红色”类。 Div B 是启用 AJAX 的“标记”按钮。基本上,我希望 div A 在其中一个 div B 项目被单击/标记时变为红色。

当单击/标记时,我已经在 div B 上更改了类,所以现在我只需要代码(jquery?),当该 div B 项目已被标记时,它将向 div A 应用一个新类,因此有与之关联的“标记”类。

谢谢!

【问题讨论】:

  • 请提供代码或jsfiddle示例
  • 没有“classchanged”事件,所以只要将类添加到“B”,您只需将类添加到“A”,应该是微不足道的吗?

标签: jquery css


【解决方案1】:

这是一个 jQuery 示例,应该可以满足您的需求。此示例假设您有 <div id="divA"><div id="divB">

$(document).ready(function() {
    $('#divB').click(function() {
        $('#divA').addClass('myRedClass');
    });
});

第一行确保在执行内部 jQuery 之前加载的文档。第二行以#divB 的“点击”事件为目标。第三行实际上将类添加到#divA。所以 - 当点击#divB 时,将类添加到#divA。

【讨论】:

  • .. 是的,adeno 对 OP 问题的第二条评论是正确的,因此采用了这种方法。
【解决方案2】:

您可以使用.toggleClass() 并传入一个条件。既然你没有发布你的代码,我只是把它做得很笼统

$('div.b').click(function(){ // <-- your click function 
   // changing of your div.b class
   $('div.a').toggleClass('red',$(this).hasClass('flagged');
   // now if div.b has class flagged - div.a will have class red also.. and vice/versa
});

【讨论】:

    猜你喜欢
    • 2017-09-18
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    • 2022-11-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多